<SEC-DOCUMENT>0001174947-24-001099.txt : 20240927
<SEC-HEADER>0001174947-24-001099.hdr.sgml : 20240927
<ACCEPTANCE-DATETIME>20240927160200
ACCESSION NUMBER:		0001174947-24-001099
CONFORMED SUBMISSION TYPE:	10-K
PUBLIC DOCUMENT COUNT:		86
CONFORMED PERIOD OF REPORT:	20240630
FILED AS OF DATE:		20240927
DATE AS OF CHANGE:		20240927

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			ESPEY MFG & ELECTRONICS CORP
		CENTRAL INDEX KEY:			0000033533
		STANDARD INDUSTRIAL CLASSIFICATION:	ELECTRONIC COMPONENTS, NEC [3679]
		ORGANIZATION NAME:           	04 Manufacturing
		IRS NUMBER:				141387171
		STATE OF INCORPORATION:			NY
		FISCAL YEAR END:			0630

	FILING VALUES:
		FORM TYPE:		10-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-04383
		FILM NUMBER:		241334809

	BUSINESS ADDRESS:	
		STREET 1:		233 BALLSTON AVE
		STREET 2:		COR. CONGRESS & BALLSTON AVES.
		CITY:			SARATOGA SPRINGS
		STATE:			NY
		ZIP:			12866
		BUSINESS PHONE:		5185844100

	MAIL ADDRESS:	
		STREET 1:		233 BALLSTON AVE
		CITY:			SARATOGA SPRINGS
		STATE:			NY
		ZIP:			12866

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	ESPEY MANUFACTURING & ELECTRONICS CORP
		DATE OF NAME CHANGE:	19920703
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>esp-20240630.htm
<DESCRIPTION>10-K
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<!-- Generated by CompSci Transform (tm) - http://www.compsciresources.com -->
<!-- Created: Thu Sep 26 20:44:29 UTC 2024 -->
<html xmlns:compsci="http://compsciresources.com" xmlns:dei="http://xbrl.sec.gov/dei/2024" xmlns:dtr="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:ecd="http://xbrl.sec.gov/ecd/2024" xmlns:esp="http://espey.com/20240630" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2020-02-12" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:srt="http://fasb.org/srt/2024" xmlns:us-gaap="http://fasb.org/us-gaap/2024" xmlns:us-types="http://fasb.org/us-types/2024" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xl="http://www.xbrl.org/2003/XLink" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.w3.org/1999/xhtml">
<head>
     <title> </title>

<meta content="text/html" http-equiv="Content-Type"/>
</head>
<body><div style="font: 10pt Times New Roman, Times, Serif"><div>



</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center; border-top: Black 5.25pt double"><b> UNITED
STATES</b></p><div>

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

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

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

</div><p style="font: 18pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>FORM <ix:nonNumeric contextRef="c0" name="dei:DocumentType" id="ixv-6767">10-K</ix:nonNumeric></b></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><ix:nonNumeric contextRef="c0" format="ixt:fixed-true" name="dei:DocumentAnnualReport" id="ixv-6768">&#9746;</ix:nonNumeric>
<span style="text-transform: uppercase"><b>ANNUAL Report Pursuant to Section 13 or 15(</b></span><b>d<span style="text-transform: uppercase">)
of the Securities Exchange Act of 1934 </span></b></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>For the fiscal year ended <ix:nonNumeric contextRef="c0" format="ixt:date-monthname-day-year-en" name="dei:DocumentPeriodEndDate" id="ixv-6769"><ix:nonNumeric contextRef="c0" format="ixt:date-monthname-day-en" name="dei:CurrentFiscalYearEndDate" id="ixv-6770">June 30</ix:nonNumeric>, <ix:nonNumeric contextRef="c0" name="dei:DocumentFiscalYearFocus" id="ixv-6771">2024</ix:nonNumeric></ix:nonNumeric></b></p><div>

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

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><ix:nonNumeric contextRef="c0" format="ixt:fixed-false" name="dei:DocumentTransitionReport" id="ixv-6772">&#9744;</ix:nonNumeric>
<span><b>TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</b></span></p><div>

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

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Commission File Number <ix:nonNumeric contextRef="c0" name="dei:EntityFileNumber" id="ixv-6773">1-4383</ix:nonNumeric></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><img alt="" src="image_001.jpg" style="height: 48pt; width: 126.75pt"/></p><div>

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

</div><p style="font: bold 18pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><ix:nonNumeric contextRef="c0" name="dei:EntityRegistrantName" id="ixv-6774">ESPEY MFG. &amp; ELECTRONICS CORP.</ix:nonNumeric></p><div>

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

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

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"> <tr style="font: bold 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="text-transform: uppercase; font: bold 10pt Times New Roman, Times, Serif; width: 50%; text-align: center"><ix:nonNumeric contextRef="c0" format="ixt-sec:stateprovnameen" name="dei:EntityIncorporationStateCountryCode" id="ixv-6775">New York</ix:nonNumeric></td> <td style="font: bold 10pt Times New Roman, Times, Serif; width: 50%; text-align: center"><ix:nonNumeric contextRef="c0" name="dei:EntityTaxIdentificationNumber" id="ixv-6776">14-1387171</ix:nonNumeric></td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">(State of incorporation)</td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">(I.R.S. Employer's Identification No.)</td></tr> </table><div>
</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&#160;</p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><ix:nonNumeric contextRef="c0" name="dei:EntityAddressAddressLine1" id="ixv-6777">233 Ballston Avenue</ix:nonNumeric>, <ix:nonNumeric contextRef="c0" name="dei:EntityAddressCityOrTown" id="ixv-6778">Saratoga Springs</ix:nonNumeric>, <ix:nonNumeric contextRef="c0" format="ixt-sec:stateprovnameen" name="dei:EntityAddressStateOrProvince" id="ixv-6779">New York</ix:nonNumeric>
<ix:nonNumeric contextRef="c0" name="dei:EntityAddressPostalZipCode" id="ixv-6780">12866</ix:nonNumeric></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">(Address of principal executive offices)</p><div>

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

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><ix:nonNumeric contextRef="c0" name="dei:CityAreaCode" id="ixv-6781">518</ix:nonNumeric>-<ix:nonNumeric contextRef="c0" name="dei:LocalPhoneNumber" id="ixv-6782">584-4100</ix:nonNumeric></p><div>

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

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

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

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

</div><table cellpadding="0" cellspacing="0" style="width: 100%; font: 10pt Times New Roman, Times, Serif; border-collapse: collapse"> <tr style="font: bold 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="white-space: nowrap; font: bold 10pt Times New Roman, Times, Serif; width: 40%; text-align: center">Title of each class</td> <td style="white-space: nowrap; font: bold 10pt Times New Roman, Times, Serif; width: 20%; text-align: center">Trading Symbol</td> <td style="white-space: nowrap; font: bold 10pt Times New Roman, Times, Serif; width: 40%; text-align: center">Name of each exchange on which registered</td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="white-space: nowrap; font: 10pt Times New Roman, Times, Serif; text-align: center"><ix:nonNumeric contextRef="c0" name="dei:Security12bTitle" id="ixv-6783">Common Stock $.33-1/3 par value</ix:nonNumeric></td> <td style="white-space: nowrap; font: 10pt Times New Roman, Times, Serif; text-align: center"><ix:nonNumeric contextRef="c0" name="dei:TradingSymbol" id="ixv-6784">ESP</ix:nonNumeric></td> <td style="white-space: nowrap; font: 10pt Times New Roman, Times, Serif; text-align: center"><ix:nonNumeric contextRef="c0" format="ixt-sec:exchnameen" name="dei:SecurityExchangeName" id="ixv-6785">NYSE American</ix:nonNumeric></td></tr> </table><div>
</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>&#160;</b></p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Securities registered pursuant to Section 12(g)
of the Act</p><div>

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Indicate by check mark if the registrant is a
well-known seasoned issuer, as defined in Rule 405 of the Securities Act. &#9744; Yes &#9746;
<ix:nonNumeric contextRef="c0" name="dei:EntityWellKnownSeasonedIssuer" id="ixv-6786">No</ix:nonNumeric></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Indicate by check mark if the registrant is not
required to file reports pursuant to Section 13 or Section 15(d) of the Act. &#9744; Yes
&#9746; <ix:nonNumeric contextRef="c0" name="dei:EntityVoluntaryFilers" id="ixv-6787">No</ix:nonNumeric></p><div>

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

</div><p style="font: 10pt Courier; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">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 Exchange 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. </span>&#9746; <span style="font-family: Times New Roman, Times, Serif"><ix:nonNumeric contextRef="c0" name="dei:EntityCurrentReportingStatus" id="ixv-6788">Yes</ix:nonNumeric>
</span>&#9744; <span style="font-family: Times New Roman, Times, Serif">No</span></p><div>

</div><p style="font: 10pt Courier; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Indicate by check mark whether the registrant
has submitted electronically every Interactive Date File required to be submitted and posted 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 and post such files). &#9746;
<ix:nonNumeric contextRef="c0" name="dei:EntityInteractiveDataCurrent" id="ixv-6789">Yes</ix:nonNumeric> &#9744; No</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Indicate by check mark whether the registrant
is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company:</p><div>

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

</div><table cellpadding="0" cellspacing="0" style="width: 80%; font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; margin-left: auto; margin-right: auto;"> <tr style="vertical-align: top"> <td style="width: 50%; font-family: Courier New, Courier, Monospace; text-align: justify">&#9744; <span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Large accelerated filer </span></td> <td style="width: 50%; font-family: Courier New, Courier, Monospace; text-align: justify">&#9744; <span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonNumeric contextRef="c0" format="ixt-sec:entityfilercategoryen" name="dei:EntityFilerCategory" id="ixv-6790">Non-accelerated filer</ix:nonNumeric> </span></td></tr> <tr style="vertical-align: top"> <td style="font-family: Courier New, Courier, Monospace; text-align: justify">&#9744; <span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accelerated filer</span></td> <td style="font-family: Courier New, Courier, Monospace; text-align: justify"><ix:nonNumeric contextRef="c0" format="ixt:fixed-true" name="dei:EntitySmallBusiness" id="ixv-6791">&#9746;</ix:nonNumeric> <span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Smaller reporting company</span></td></tr> <tr style="vertical-align: top"> <td style="font-family: Courier New, Courier, Monospace; text-align: justify">&#160;</td> <td style="font-family: Courier New, Courier, Monospace; text-align: justify"><ix:nonNumeric contextRef="c0" format="ixt:fixed-false" name="dei:EntityEmergingGrowthCompany" id="ixv-6792">&#9744;</ix:nonNumeric> <span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Emerging growth company</span></td></tr> </table><div>
</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><!-- Field: Page; Sequence: 1 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

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

</div><p style="font: 10pt Courier; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Courier; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Indicate by
check mark whether the registrant has filed a report on and attestation to its management&#8217;s assessment of the effectiveness of its
internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public
accounting firm that prepared or issued its audit report. </span><ix:nonNumeric contextRef="c0" format="ixt:fixed-false" name="dei:IcfrAuditorAttestationFlag" id="ixv-6793">&#9744;</ix:nonNumeric></p><div>

</div><p style="font: 10pt Courier; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Courier; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">If securities
are registered pursuant to Section 12(b) of the Act, indicate by check mark whether the financial statements of the registrant included
in the filing reflect the correction of an error to previously issued financial statements. </span><ix:nonNumeric contextRef="c0" format="ixt:fixed-false" name="dei:DocumentFinStmtErrorCorrectionFlag" id="ixv-6794">&#9744;</ix:nonNumeric></p><div>

</div><p style="font: 10pt Courier; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Courier; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Indicate by
check mark whether any of those error corrections are restatements that required a recovery analysis of incentive-based compensation received
by any of the registrant&#8217;s executive officers during the relevant recovery period pursuant to &#167;240.10D-1(b) </span>&#9744;</p><div>

</div><p style="font: 10pt Courier; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Indicate by check mark whether the registrant
is a shell company. &#9744; Yes <ix:nonNumeric contextRef="c0" format="ixt:fixed-false" name="dei:EntityShellCompany" id="ixv-6795">&#9746;</ix:nonNumeric> No</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The aggregate market value of the voting stock
held by non-affiliates of the registrant was $<ix:nonFraction contextRef="c1" decimals="0" format="ixt:num-dot-decimal" name="dei:EntityPublicFloat" scale="0" unitRef="usd" id="ixv-6796">36,703,889</ix:nonFraction> based upon the closing sale price of $18.70 on the NYSE American on December
31, 2023.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">At September 24, 2024 there were <ix:nonFraction contextRef="c2" decimals="INF" format="ixt:num-dot-decimal" name="dei:EntityCommonStockSharesOutstanding" scale="0" unitRef="shares" id="ixv-6797">2,744,458</ix:nonFraction> shares
outstanding of the registrant's Common stock, $.33-1/3 par value.</p><div>

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0.5in 0pt 0; text-align: center">DOCUMENTS INCORPORATED BY REFERENCE</p><div>

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

</div><ix:nonNumeric contextRef="c0" escape="true" name="dei:DocumentsIncorporatedByReferenceTextBlock" id="ixv-197"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Portions of the registrant's definitive proxy
statement relating to the 2024 Annual Meeting of Shareholders, to be filed with the Securities and Exchange Commission, are incorporated
by reference in Part III, Items 10 through 14 on Form 10-K as indicated herein.</p></ix:nonNumeric><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Forward-Looking Statements</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">This Annual Report on Form 10-K contains forward-looking
statements that are based on management&#8217;s expectations, estimates, projections and assumptions. Words such as &#8220;expects,&#8221;
&#8220;anticipates,&#8221; &#8220;plans,&#8221; &#8220;believes,&#8221; &#8220;scheduled,&#8221; &#8220;estimates&#8221; and variations
of these words and similar expressions are intended to identify forward-looking statements. Forward-looking statements are made pursuant
to the safe harbor provisions of the Private Securities Litigation Reform Act of 1995, as amended. These statements are not guarantees
of future performance and involve certain risks and uncertainties that are difficult to predict. Therefore, actual future results and
trends may differ materially from what is forecast in forward-looking statements due to a variety of factors, including, without limitation:</p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify">Changing priorities or decreases in the U.S. government&#8217;s defense budget (including changes in priorities
in response to terrorist threats, improvement of homeland security and general U.S. Government budgetary issues);</td></tr></table><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td>Termination of government contracts due to unilateral government action;</td></tr></table><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify">Differences in anticipated and actual program performance, including the ability to perform under long-term
fixed-price contracts within estimated costs, and performance issues with key suppliers and subcontractors;</td></tr></table><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td>Potential of changing prices for energy and raw materials;</td></tr></table><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td>General strength of the industry sectors in which our customers transact business</td></tr></table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">All forward-looking statements speak only as of
the date of this report or, in the case of any document incorporated by reference, the date of that document. All subsequent written and
oral forward-looking statements attributable to the Company or any person acting on the Company&#8217;s behalf are qualified by the cautionary
statements in this section. The Company does not undertake any obligation to update or publicly release any revisions to forward-looking
statements to reflect events, circumstances or changes in expectations after the date of this report.</p><div>

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

</div><!-- Field: Page; Sequence: 2; Options: NewSection; Value: 1 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->1<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>


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

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

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in">Item 1.</td><td>Business</td></tr></table><div>

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

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Espey Mfg. &amp; Electronics Corp. (&#8220;Espey&#8221;)
is a power electronics design and original equipment manufacturing (OEM) company with a long history of developing and delivering highly
reliable products for use in military and severe environment applications. Design, manufacturing, and testing is performed in our 150,000+
square foot facility located at 233 Ballston Ave., Saratoga Springs, New York. Espey is classified as a &#8220;smaller reporting company&#8221;
for purposes of the reporting requirements under the Securities Exchange Act of 1934, as amended. Espey&#8217;s common stock is publicly-traded
on the NYSE American under the symbol &#8220;ESP.&#8221;</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Espey began operations after incorporation in
New York in 1928. We strive to remain competitive as a leader in high power energy conversion and transformer solutions through the design
and manufacture of new and improved products by using advanced and &#8220;cutting edge&#8221; electronics technologies.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Espey is an ISO 9001:2015 and AS9100:2016 certified
manufacturer of power conversion, advanced magnetics and build to specifications provided by the customer &#8220;build to print&#8221;
products for the rugged industrial and military marketplace. Our primary products are power supplies, power converters, filters, power
transformers, magnetic components, power distribution equipment, UPS systems, and antennas. The applications of these products include
AC and DC locomotives, shipboard power, shipboard radar, airborne power, ground-based radar, and ground mobile power.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Espey services include design and development
to specification, build to specifications provided by the customer &#8220;build to print&#8221;, design services, design studies, environmental
testing services, metal fabrication, painting services, and development of automatic testing equipment. Espey is vertically integrated,
meaning that the Company produces individual components (including inductors), populates printed circuit boards, fabricates metalwork,
paints, wires, qualifies, and fully tests items, mechanically, electrically and environmentally, in house. Portions of the manufacturing
and testing process are subcontracted to vendors from time to time.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In fiscal years ended June 30, 2024 and 2023,
the Company's total sales were $38,736,319 and $35,592,323, respectively. Sales to five domestic customers accounted for 20%, 18%, 16%,
16% and 11%, respectively, of total sales in 2024. Sales to five domestic customers accounted for 23%, 18%, 16%, 13% and 11%, respectively,
of total sales in 2023. This concentration level presents significant risk. A loss of one of these customers or programs related to these
customers could significantly impact the financial performance of the Company. Historically, a small number of customers have accounted
for a large percentage of the Company&#8217;s total sales in any given fiscal year. In some instances, our sales may include shipments
to more than one business unit of a particular customer. </p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Export shipments in fiscal years 2024 and 2023
were $2,350,087 and $549,510, respectively. The increase is primarily due to the increase in power supply shipments resulting
from a repeat order received which had no comparable shipments in the prior year.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Sources of Raw Materials.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company has at least two potential sources
of supply for a majority of its raw materials. However, certain components used in its products are available from a single or a limited
number of sources. Despite the risk associated with single or limited source suppliers, the benefits of higher quality goods  minimize and often limit any potential risk and can eliminate problems with part failures during production. At times, replacements
are required to cover obsolete parts.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Ongoing demand in the power electronics industry across
multiple manufacturing sectors continues to create shortages and extended lead times. In some instances, waiting times for certain components
approach a year or more. We adequately factor supplier-provided lead times into internal planning schedules and new customer quotations.
From time to time, we encounter part obsolescence which requires us to identify an alternate part suitable for use. We continue to work
with our customers on strategies to mitigate any adverse impact upon our ability to service their requirements. Factors which may arise
after the placement of the customer&#8217;s order may cause us to miss projected delivery dates. Inflationary costs are expected to continue
but are not expected to have a significant impact on operating income in fiscal year 2025.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Tariffs on steel and aluminum imports from various
countries continue to be in effect. Although we are not currently experiencing any significant financial or raw material sourcing issues
resulting from the product tariffs, the Company cannot provide any assurance that the existing tariffs, the potential of additional tariffs,
and the associated volatility arising from foreign trade policies, will not have a negative impact on our future earnings by increasing
our raw material prices and augmenting the lead time for the availability of raw materials.</p><div>

</div><!-- Field: Page; Sequence: 3; Value: 1 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->2<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>



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

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The total sales backlog at June 30, 2024 was $97.2
million, which included approximately $61 million from four significant customers, compared to $83.6 million at June 30, 2023, which
included approximately $66 million from six significant customers. The Company&#8217;s total backlog represents the estimated remaining
sales value of work to be performed under firm contracts. Orders from significant customers may include more than a single program and
procurement may originate from various divisions of the significant customer. The funded portion of this backlog at June 30, 2024 was
approximately $94.9 million. This includes items that have been authorized and appropriated by Congress and/or funded by the customer.
The unfunded backlog at June 30, 2024 was approximately $2.3 million and represents an amount under one firm repeat multi-year order from
a single customer. While there is no guarantee that future budgets and appropriations will provide funding for individual programs, management
has included in unfunded backlog only those programs that it believes are likely to receive funding based on discussions with customers
and program status. The unfunded backlog at June 30, 2023 approximated $32 thousand. Contracts are subject to modification, change or
cancellation, and the Company accounts for these changes as they are probable and estimable. The Company evaluates the impact of any scope
modifications and will adjust reserves as information is known and estimable.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The majority of our orders are generated
from prime defense contractors, the United States Department of Defense, other agencies of the government of the United States and foreign
governments, and are for the design and development and/or manufacture of products. Orders are also generated from industrial manufacturers
for similar services. It is not uncommon to receive orders which include delivery schedules extending beyond a year from the contract
purchase date, therefore a customer&#8217;s reorder point may vary.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">It is presently anticipated that a minimum of
$44 million of orders comprising the June 30, 2024 backlog will be filled during the fiscal year ending June 30, 2025. The estimate of
the June 30, 2024 backlog to be shipped in fiscal year 2025 is subject to future events, which may cause the amount of the backlog actually
shipped to differ from such estimate.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Marketing and Competition</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company markets its products primarily through
its own direct sales organization and through outside sales representatives. Business is solicited from large industrial manufacturers
and defense companies, the government of the United States, foreign governments and major foreign electronic equipment companies. Espey
is also on the eligible list of contractors with the United States Department of Defense. We pursue opportunities for prime contracts
directly with the Department of Defense and are generally automatically solicited by Department of Defense procurement agencies for their
needs falling within the major classes of products produced by the Company. Espey contracts with the Federal Government under cage code
20950 as Espey Mfg. &amp; Electronics Corp.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">There is competition in all classes of products
manufactured by the Company ranging from divisions of the largest electronic companies, to many small companies. The Company's sales do
not represent a significant share of the industry's market for any class of its products. The principal methods of competition for electronic
products of both a military and industrial nature include, among other factors, price, product performance, the experience of the particular
company and history of its dealings in such products.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Our business is not seasonal. However, the concentration
of our business in the rail industry, and in equipment for military applications and industrial applications, as well as our customer
concentrations, expose us to on-going associated risks. These risks include, without limitation, requirements for power supplies in the
rail industry, dependence on appropriations from the United States Government and the governments of foreign nations, program allocations,
the potential of governmental termination of orders for convenience, and the general strength of the industry sectors in which our customers
transact business.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Future procurement needs supporting the military
and the rail industry continue to drive competition. Many of our competitors have invested, and they continue to invest aggressively in
upfront product design costs and accept lower profit margins as a strategic means of maintaining existing business and enhancing market
share. This continues to put pressure on the pricing of our current products and has lowered our profit margins on some of our new business.
In order to compete effectively for new business, in some cases we have invested in upfront design costs, thereby reducing initial profitability
as a means of procuring new long-term programs. As part of our strategy, we adjust our pricing in order to achieve a balance which enables
us both to retain repeat programs while being more competitive in bidding on new programs.</p><div>

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

</div><!-- Field: Page; Sequence: 4; Value: 1 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->3<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Our sales strategy includes identifying and obtaining
multiple new engineering design and development contracts in any given fiscal year to ensure optimal utilization of our engineering personnel
in addition to securing follow-on production awards for product previously designed in-house, as well as, build to print opportunities.
The Company targets those programs and opportunities which will generate future longer-term production tails in ensuing years. From time
to time, we accept work associated with engineering design studies. While unlikely to result in near-term follow-on orders, this positions
us competitively on future awards and expands our engineering team&#8217;s skillset.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Research and Development</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We do very little research and development with
the intent to develop and market new product offerings for sale to customers. Our business primarily is driven by customer product needs
and custom product development funded by the applicable customers. We incur research costs to support a request for quotation from a customer
product-specific need usually associated with stringent size and weight requirements. In addition, the Company's engineers and technicians
spend varying amounts of time identifying improvements to existing products with the primary objective of reducing production costs. At
times, engineers are tasked with researching replacement parts to remediate identified obsolescence on current or repeat production programs.
The Company's expenditures for research related activities were approximately $86,714 and $65,427 in fiscal year 2024 and 2023, respectively.</p><div>

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

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company had 148 employees as of August 31,
2024. Approximately 36% of the employees are represented by the International Brotherhood of Electrical Workers. The current collective
bargaining agreement expires on June 30, 2025. Relations with the Union are considered good.</p><div>

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

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Compliance with federal, state and local laws
regulating the discharge of materials into the environment, or otherwise relating to the protection of the environment, did not in fiscal
year 2024, and the Company believes will not in fiscal year 2025, have a material effect upon the capital expenditures, net income, or
competitive position of the Company.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s U.S. Government contract and
subcontract orders are funded by government budgets, which operate on an October-to-September fiscal year. Normally, in February of each
year, the President of the United States presents to Congress a proposed budget for the upcoming fiscal year. This budget includes recommended
appropriations for every federal agency and is the result of months of policy and program reviews throughout the executive branch. From
February through September of each year, the appropriations and authorization committees of Congress review the President&#8217;s budget
proposals and establish the funding levels for the upcoming fiscal year in appropriations and authorization legislation. Once these levels
are enacted into law, the Executive Office of the President administers the funds to the agencies.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">There are two primary risks associated with this
process. First, the process may be delayed or disrupted because of congressional schedules, negotiations over funding levels for programs
or unforeseen world events, which could, in turn, alter the funding for a program or contract. Second, funding for multi-year contracts
can be changed by future appropriations, which could affect the timing of funds, schedules and program content.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Also, our international sales are denominated
in United States dollars. Consequently, a strengthening of the United States dollar against foreign currencies could increase the price
in local currencies of our products in foreign markets and make our products relatively more expensive than competitors&#8217; products.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -0.75in">U.S. Government
Defense Contracts and Subcontracts</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Generally, U.S. Government contracts are subject
to procurement laws and regulations. Some of the Company&#8217;s contracts are governed by the Federal Acquisition Regulation (FAR), which
lays out uniform policies and procedures for acquiring goods and services by the U.S. Government, and agency-specific acquisition regulations
that implement or supplement the FAR. For example, the Department of Defense implements the FAR through the Defense Federal Acquisition
Regulation (DFAR).</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The FAR also contains guidelines and regulations
for managing a contract after award, including conditions under which contracts may be terminated, in whole or in part, at the government&#8217;s
convenience or for default. If a contract is terminated for the convenience of the government, a contractor is entitled to receive payments
for its allowable costs and, in general, the proportionate share of fees or earnings for the work done. If a contract is terminated for
default, the government generally pays for only the work it has accepted. These regulations also subject the Company to financial audits
and other reviews by the government of its costs, performance, accounting and general business practices relating to its contracts, which
may result in adjustment of the Company&#8217;s contract-related costs and fees.</p><div>

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

</div><!-- Field: Page; Sequence: 5; Value: 1 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->4<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Item 1C. Cybersecurity</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Robust cybersecurity is an essential component
of our strategic vision. We face a variety of complex cybersecurity threats as a defense contractor. Among the risks are computer malware,
ransomware, phishing attacks, Denial of Service attacks and Advanced Persistent Threats. Our security team, comprised of members from
senior management, IT, human resources and program management, performs routine risk assessments in accordance with NIST 800-30, using
input from observed risks  and threats, advisories, federal agencies and local law enforcement. The Audit Committee of the Board of
Directors is responsible for oversight of our risk management processes. The Audit Committee is briefed by senior management on cybersecurity
posture, initiatives and incidents. We allocate significant resources to mitigate these risks. We are required to adhere to rigorous
regulations, such as those outlined in the Defense Federal Acquisition Regulation Supplement (DFARS), which govern the protection of
controlled unclassified information (CUI) and the mandatory reporting of cybersecurity incidents to the Department of Defense (DoD).
All DFARS requirements are flowed down to our sub-contractors, who are required to self-report their compliance to the U.S. Government.
In addition to the processes and systems that we use to identify and mitigate risks, we utilize third party services to conduct valuations
of our security controls, including penetration testing and independent audits. Despite our efforts to uphold the highest cybersecurity
standards, we may still experience a cybersecurity incident that has a material effect on business strategy, results of operation or
financial condition. It is also possible that additional regulations could affect our supply chain and increase costs. Prior cyberattacks
directed at us have not had a material impact on our financial results nor restricted us from being awarded contracts from other defense
companies or directly from the United States Department of Defense. However, we can provide no assurance that the occurrence of any future
event would not adversely affect our internal operations, our reputation and competitive advantage, and our future financial results.</p><div>

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

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

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in">Item 2.</td><td>Property</td></tr></table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company's entire operation, including administrative,
manufacturing and engineering facilities, is located in Saratoga Springs, New York.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Saratoga Springs plant, which the
Company owns, consists of various adjoining buildings on a 22 acre site, approximately eight acres of which is unimproved. The
property is not subject to mortgage indebtedness or any other material encumbrance. The plant has a sprinkler system throughout and
contains approximately 151,000 square feet of in-service floor space, of which 90,000 is used for manufacturing, 24,000 for
engineering, 33,000 for shipping and climatically secured storage, and 4,000 for offices. The offices, engineering and some
manufacturing areas are air-conditioned. In addition to assembly and wiring operations, the plant includes facilities for
varnishing, potting, impregnation and spray-painting operations. The manufacturing operation also includes a complete machine shop,
with welding and sheet metal fabrication facilities adequate for substantially all of the Company's current operations. Besides
normal test equipment, the Company maintains a sophisticated on-site environmental test facility. In addition to meeting all of the
Company's in-house needs, the machine shop and environmental facilities are available to other companies on a contract basis.</p><div>

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

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

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in">Item 3.</td><td>Legal Proceedings</td></tr></table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We are party to various litigation matters and
claims arising from time to time in the ordinary course of business.&#160;&#160;While the results of such matters cannot be predicted
with certainty, we believe that the final outcome of such matters will not have a material adverse effect on our business, financial condition,
results of operations or cash flows.&#160;Currently, there are no matters pending.</p><div>

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

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

</div><table cellpadding="0" cellspacing="0" style="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in">Item 4.</td><td>Mine Safety Disclosures</td></tr></table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-indent: 0in">Not applicable</p><div>

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

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

</div><!-- Field: Page; Sequence: 6; Value: 1 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->5<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

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

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

</div><table cellpadding="0" cellspacing="0" style="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in">Item 5.</td><td style="text-align: justify">Market for the Registrant's Common Equity and Related Stockholder Matters and Issuer Purchases of Equity
Securities</td></tr></table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Price Range of Common Stock</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The table below shows the range of high and low
prices for the Company's common stock on the NYSE American (symbol "ESP"), the principal market for trading in the common stock,
for each quarterly period for the last two fiscal years ended June 30:</p><div>

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

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 80%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="font: 10pt Times New Roman, Times, Serif; text-decoration: underline">2024</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: center; border-bottom: Black 1pt solid">High</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: center; border-bottom: Black 1pt solid">Low</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 70%; text-align: left">First Quarter</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">18.00</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">14.74</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left">Second Quarter</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">19.29</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">14.69</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Third Quarter</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">27.32</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">17.97</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left">Fourth Quarter</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">26.31</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">20.20</td><td style="text-align: left">&#160;</td></tr>
  </table><div>


</div><p style="margin: 0">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 80%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="font: 10pt Times New Roman, Times, Serif; text-decoration: underline">2023</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: center; border-bottom: Black 1pt solid">High</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: center; border-bottom: Black 1pt solid">Low</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 70%; text-align: left">First Quarter</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">15.54</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">13.05</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left">Second Quarter</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">14.49</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">13.02</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Third Quarter</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">20.59</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">14.17</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left">Fourth Quarter</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">22.96</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">15.81</td><td style="text-align: left">&#160;</td></tr>
  </table><div>

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

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The approximate number of holders of record of
the common stock was 57 on September 24, 2024 according to records of the Company's transfer agent. Included in this number are shares
held in "nominee" or "street" name and, therefore, the number of beneficial owners of the common stock is believed
to be substantially in excess of the foregoing number.</p><div>

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

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Effective March 13, 2023, the Company reinstated
payment of a quarterly dividend. The Company had suspended dividend payments effective March 9, 2021. The Company paid regular cash dividends
on common stock of $0.675 per share for the fiscal year ended June 30, 2024 and paid regular cash dividends on common stock of $0.20 per
share for the fiscal year ended June 30, 2023. Our Board of Directors assesses the Company&#8217;s dividend policy periodically. There
is no assurance that the Board of Directors will maintain the amount of the regular cash dividend during any future years.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During fiscal year 2024, the Company did not sell
any of its common stock to the Trustees of The Espey Mfg. &amp; Electronics Corp. Employee Stock Ownership Plan Trust (the &#8220;ESOP&#8221;).</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company did not make any open market purchases
of equity securities in the fiscal year 2024 fourth quarter.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The following table sets forth information as
of June 30, 2024 with respect to compensation plans under which equity securities of the Company may be issued.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Equity Compensation Plan Information</p><div>

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

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center">Number of securities to</td><td>&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center">Weighted-average</td><td>&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center">Number of Securities remaining</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center">be issued upon exercise</td><td>&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center">exercise price of</td><td>&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center">available for future issuance under</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center">of outstanding options,</td><td>&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center">outstanding options,</td><td>&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center">equity compensation plan (excluding</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; white-space: nowrap">Plan Category</td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">warrants and rights</td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">warrants and rights</td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">securities reflected in column (a))</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; white-space: nowrap">&#160;</td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">(a)</td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">(b)</td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">(c)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -10pt; padding-left: 10pt; text-align: left; padding-bottom: 1pt; width: 24%">Equity compensation plans approved by security holders</td><td style="width: 2%">&#160;</td>
    <td style="width: 8%; text-align: left">&#160;</td><td style="width: 8%; text-align: center">322,056</td><td style="white-space: nowrap; width: 8%; text-align: left">&#160;</td><td style="width: 1%">&#160;&#160;</td>
    <td style="vertical-align: bottom; width: 8%; text-align: right"/><td style="width: 8%; text-align: center">$ 18.41</td><td style="white-space: nowrap; width: 8%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 8%; text-align: left">&#160;</td><td style="width: 8%; text-align: center">80,969</td><td style="white-space: nowrap; width: 8%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-indent: -10pt; padding-left: 10pt; text-align: left; padding-bottom: 1pt">Equity compensation plans not approved by security holders</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: center">&#160;&#160;&#160;&#160;&#160;&#160;&#8212;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: center">&#160;&#160;&#160;&#160;&#160;&#160;&#8212;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-bottom: 1pt">Total</td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: center">322,056</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: center">80,969</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table><div>

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

</div><!-- Field: Page; Sequence: 7; Value: 1 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->6<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in">Item 7.</td><td>Management's Discussion and Analysis of Financial Condition and Results of Operations</td></tr></table><div>

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

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 6pt; text-align: justify">Management expects revenues in fiscal year 2025
to be higher than revenues recognized during fiscal year 2024 and expects net income per share to exceed fiscal 2023 reported results,
however net income per share is anticipated to fall below fiscal 2024 results.&#160; This expectation is driven primarily by orders already
in our backlog that will be shipped in fiscal year 2025 with higher anticipated aggregate costs than the product mix shipped during fiscal
2024.&#160;Gross profit on fiscal 2025 shipments will be reduced by the increase in overhead costs incurred specific to the pension withdrawal
obligation recorded in fiscal 2024, explained in greater detail in Financial Statement Note 7. Pension Expense.&#160;Overhead costs will
be reduced, in future years, from the Company&#8217;s withdrawal from the plan, as recurring annual contribution payments to the plan
will no longer be required. As market factors including competition and product costs impact gross profit margins, management will continue
to evaluate our sales strategy, employment levels, and facility costs.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Ongoing demand in the power electronics industry across
multiple manufacturing sectors continues to create shortages and extended lead times. In some instances, waiting times for certain components
approach a year or more. We adequately factor supplier-provided lead times into internal planning schedules and new customer quotations.
From time to time, we encounter part obsolescence which requires us to identify an alternate part suitable for use. We continue to work
with our customers on strategies to mitigate any adverse impact upon our ability to service their requirements. Factors which may arise
after the placement of the customer&#8217;s order may cause us to miss projected delivery dates. Inflationary costs are expected to continue
but are not expected to have a significant impact on operating income in fiscal year 2025.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The labor workforce remains stable. Management
continues to closely monitor workforce labor requirements to support our sales backlog and planned delivery schedules. Longer time-to-hire
challenges remain for certain positions due to specific skillsets required for those positions and the fact fewer workers, in general,
are seeking employment. Unemployment rates in the local geographic region trend lower than the national average which has created a competitive
recruiting environment. Where possible, the Company continues to offer on-the-job training and when necessary continues to recruit personnel
outside the local region. Combined with supply chain constraints, unforeseen labor disruptions could delay shipments and result in missing
our backlog fulfillment projections and recognizing lower operating income.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Successful conversion of engineering program backlog
into sales is largely dependent on the execution and completion of our engineering design efforts. It is not uncommon to experience technical
or scheduling delays which arise from time to time as a result of, among other reasons, design complexity, the availability of personnel
with the requisite expertise, the requirements to obtain customer approval at various milestones, and extended delivery lead times on
material required for prototypes.&#160;Cost overruns which may arise from technical and schedule delays and increased raw material costs
could negatively impact the timing of the conversion of backlog into sales, or the profitability of such sales. Engineering programs in
both the funded and unfunded portions of the current backlog aggregate $10.2 million.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company currently expects new orders in fiscal
2025 to be greater than those received in fiscal year 2024.&#160; During fiscal year 2024, the Company received approximately $52.4 million
in new orders. Included in new order bookings are repeat production orders for multi-year purchases with deliveries expected to extend
for several years.&#160; In addition to the backlog, the Company currently has outstanding opportunities representing in excess of $130
million in the aggregate as of August 31, 2024, for both repeat and new programs.&#160;Included in outstanding opportunities is a large
multi-year purchase from a single customer for several products currently being manufactured by the Company, expected to be formalized
prior to December 31, 2024.&#160;Outstanding opportunities encompass various new and previously manufactured power supplies, transformers,
and subassemblies.&#160;We consider the value of those opportunities we believe are likely to be awarded based on factors which include:
quotation status, communicated award dates, historical ordering, public information on defense programs and program funding, discussion
with customers, and our cost competitiveness. However, there can be no assurance that the Company will acquire any of the outstanding
opportunities described above, many of which are subject to allocations of the United States defense spending and factors affecting the
defense industry, as well as, the fact many solicitations we receive for the procurement of goods and services takes place by competitive
bidding.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Our sales strategy includes identifying and obtaining
multiple new engineering design and development contracts in any given fiscal year to ensure optimal utilization of our engineering personnel
in addition to securing follow-on production awards for product previously designed in-house, as well as, build to print opportunities.
The Company targets those programs and opportunities which will generate future longer-term production tails in ensuing years. From time
to time, we accept work associated with engineering design studies. While unlikely to result in near-term follow-on orders, this positions
us competitively on future awards and expands our engineering team&#8217;s skillset.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Management continues to pursue opportunities with
current and new customers with an overall objective of lowering the concentration of sales, mitigating excessive reliance upon a single
major product of a particular program and minimizing the impact of the loss of a single significant customer. Given the nature of our
business, we believe our existing sales order backlog is fairly diversified in terms of customers and the category of products on order.</p><div>

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

</div><!-- Field: Page; Sequence: 8; Value: 1 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->7<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Management, along with the Board of Directors,
continues to evaluate the need and use of the Company&#8217;s working capital.&#160;Capital expenditures, primarily for machinery and
equipment and facility upgrades, are not expected to exceed $500,000 for fiscal year 2025. A majority of these expenditures will be made
to stay competitive in the marketplace and to meet the needs of current contracts.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Expectations are that the working capital
will be required to fund orders, general operations of the business and dividend payments. Management along with the
Legal Affairs, Strategic Planning, and M&amp;A Committee of the Board of Directors will examine opportunities involving acquisitions
or other strategic options, including buying certain products or product lines, provided that such opportunities demonstrate
synergies with the Company&#8217;s existing product base and accretion to earnings.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company was awarded $7.4 million in
funding during the second quarter of fiscal year 2023 in support of facility and capital equipment upgrades for testing and
qualification for the United States Navy. The funding is part of the Navy&#8217;s investment to improve and sustain the Surface
Combatant Industrial Base. The work is being conducted on the Company&#8217;s property in Saratoga Springs, NY, with completion
slated for the end of calendar year 2024. The Company expects to be paid within 30 days after the submission of three milestone
invoices, but will not be paid for expenses incurred in excess of the specified milestone payment limits. The Company will record
the receipt of milestone payments received as a reduction from the cost of the assets. As of June 30, 2024 milestone reimbursements
received totaled $4,228,722. Included in property, plant, and equipment at June 30, 2024 was $965,392 not yet reimbursed under the
funding award. As of June 30, 2024, the Company anticipates spending the remaining $2.3 million, allowable under the award, during
fiscal 2025.</p><div>

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

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

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Net sales for the years ended June 30, 2024 and
2023 were $38,736,319 and $35,592,323, respectively, an approximate 8.8% increase. In general, sales fluctuations within product categories will occur during a comparable fiscal period as
the direct result of product mix, influenced by the duration of specific programs and the contractual terms of firm orders placed for
product and services under those programs including contract value, scope of work and contract delivery schedules. Deliverables within
firm contracts are often subject to delivery schedules which also contributes to sales fluctuations between comparable periods. Sales
in fiscal year 2024 were higher when compared to the prior year primarily from (i) increased shipments on several large multi-year contracts
for transformers and power distribution panels, and (ii) increased shipments on several power supply contracts primarily supporting AESA
radar programs and off-highway vehicle production builds. These increases were offset, in part, by a decrease in overall build to print
sales which, in several instances, had specific contracts with significantly fewer or no sales in the current reporting period as compared
to the same period last year due to order completion or planned customer delivery schedules.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Gross profits for the   years ended June
30, 2024 and 2023 were $10,653,060 and $8,050,538, respectively. Gross profit as a percentage of sales was 27.5% and 22.6%, for the same
periods, respectively. The primary factors in determining the change in gross profit and net income are overall sales levels and product
mix. The gross profits on mature products and build to print contracts are typically higher as compared to products which are still in
the engineering development stage or in early stages of production. In the case of the latter, the Company can incur what it refers to
as &#8220;loss contracts,&#8221; primarily on engineering design contracts in which the Company invests with the objective of developing
future product sales. In any given accounting period, the mix of product shipments between higher margin programs and less mature programs,
and expenditures associated with loss contracts, has a significant impact on gross profit and net income.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The increase in gross profit for the year ended June
30, 2024 when compared to the same period last year resulted primarily from (i) sales levels and general product mix, (ii) higher than
average profit margins on one-time sales to certain customers, and (iii) higher sales on a large follow-on order for power distribution
panels which had fewer sales and higher costs in the prior year related to engineering design efforts. Moreover, the gross profit in fiscal
year 2023 had been negatively impacted by significant unanticipated costs incurred on several fixed-priced engineering design contracts
and a specific build to print contract, all for power supplies, due to unforeseen complexities of the designs.&#160;The improvement in
the gross profit in fiscal year 2024 was offset, in part, by increased costs incurred on a recurring production job and a new engineering
development job. Finally, gross profit in the current year was reduced by an increase in the overhead costs on shipments, resulting from
the recorded pension withdrawal obligation established in the last quarter of the current fiscal period, explained in greater detail in
Financial Statement Note 7. Pension Expense.</p><div>

</div><!-- Field: Page; Sequence: 9; Value: 1 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->8<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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


</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Selling, general and administrative expenses
were $4,113,608 for the fiscal year ended June 30, 2024; an increase of $363,084 compared to the fiscal year ended June 30, 2023.
The increase in spending for the year ended June 30, 2024 compared to the same period in 2023 mainly relates to the increase in
employee compensation costs which <span>includes a new business development employee. In addition,
and to a lesser extent, expenses increased related to </span>travel expenses, recruiting expenses, and freight costs incurred on
outgoing shipments. These increases were offset, in part, by a decrease in utility and outside selling costs related to non-employee
sales representatives.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Other income for the fiscal years ended June 30,
2024 and 2023 was $755,562 and $406,453, respectively. The increase is primarily due to the increase in interest income resulting from
an increase in investment securities and an increase in fixed interest rates. Interest income is a function of the level of investments
and investment strategies that generally tend to be conservative.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s effective tax rate was approximately
20.3% in the fiscal year 2024 and approximately 21.9% in fiscal year 2023. The effective tax rate in fiscal 2024 is less than the statutory
tax rate mainly due to the benefit received from ESOP dividends paid on allocated shares and a benefit from foreign derived intangible
income, offset in part by permanent differences related to incentive stock options. The effective tax rate in fiscal 2023 is greater than
the statutory tax rate mainly due to the permanent difference for incentive stock option expense recorded for book purposes which is not
deductible for tax purposes. During fiscal 2023, there was no benefit received from ESOP dividends paid on allocated shares due to the
suspension of the company dividend through February 2023. The effective tax rate in the  year ended June 30, 2024 was lower
than the comparable prior year primarily from the benefit derived from ESOP dividends paid on allocated shares, greater benefit derived
from foreign derived intangible income and a benefit derived from the exercise of incentive stock options in the current period when compared
to same period in the prior year.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company generated net income for fiscal year
2024 of $5,815,140 or $2.34 and $2.29 per share, basic and diluted, compared to net income of $3,677,131 or $1.50 and $1.49 per share,
basic and diluted, for fiscal year 2023. The increase in net income in the   year ended June 30, 2024 compared to the same period
in 2023 is primarily attributable to higher sales, a higher gross profit margin percentage, an increase in other income, offset in part,
by an increase in selling, general, and administrative expenses and an increase in the provision for income taxes.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Liquidity and Capital Resources</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company's working capital is an appropriate
indicator of the liquidity of its business, and during the past two fiscal years, the Company, when possible, has funded all of its operations
with cash flows resulting from operating activities and when necessary from its existing cash and investments. The Company did not borrow
any funds during the last two fiscal years. Management has available a $3,000,000 line of credit to help fund further growth or working
capital needs, if necessary, but does not anticipate the need for any borrowed funds in the foreseeable future. Contingent liabilities
on outstanding standby letters of credit agreements aggregated to zero at June 30, 2024 and 2023. The existing line of credit was extended
and expires February 28, 2025.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company's working capital as of June 30, 2024
and 2023 was approximately $38 million and $33.2 million, respectively. The Company may at times be required to repurchase shares at
the ESOP participants&#8217; request at the fair market value. During the  years ended June 30, 2024 and 2023, the Company did
not repurchase any shares held by the ESOP. Under existing authorizations from the Company's Board of Directors, as of June 30, 2024,
management is authorized to purchase an additional $783,460 of Company stock.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The table below presents the summary of cash flow
information for the fiscal years indicated:</p><div>

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

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="vertical-align: bottom; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="vertical-align: bottom; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: justify">Net cash provided by operating activities</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">10,595,200</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">3,899,870</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: justify">Net cash used in investing activities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(7,840,277</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(8,765,907</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Net cash used in financing activities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(1,151,708</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(489,268</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  </table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Net cash provided by operating activities fluctuates
between periods primarily as a result of differences in sales and net income, provision for income taxes, the timing of the collection
of accounts receivable, purchase of inventory, and payment of accounts payable. The increase in cash provided by operating activities
compared to the prior year primarily relates to an increase in net income, a decrease in prepaid expenses and other current assets, a
decrease in inventory, an increase in accounts payable and other accrued expenses, offset in part, by a decrease in contract liabilities,
and an increase in trade accounts receivable. </p><div>

</div><!-- Field: Page; Sequence: 10; Value: 1 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->9<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Net cash used in investing activities
increased in the year ended June 30, 2024 as compared to the same period in 2023 due to an increase in investment securities when
compared to the same period last year, in addition to additions to property, plant and equipment, partially offset by proceeds
received from the grant award. Cash used in financing activities for the year ended June 30, 2024 relates primarily to
dividend payments on common stock, offset in part, by proceeds from the exercise of stock options. </p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 6.1pt 0pt 0; text-align: justify">The Company currently believes that
the cash flow generated from operations and when necessary, from cash and cash equivalents, will be sufficient to meet its long-term funding
requirements for the foreseeable future.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 5.85pt 0pt 0; text-align: justify">During the fiscal years ended June
30, 2024 and 2023, the Company expended $5,164,165 and $512,016, respectively, for plant improvements and new equipment, of which $4,886,113
and $249,705, respectively, was either reimbursed or eligible to be reimbursed under a not to exceed $7.4 million award received by the
Company. The award received by the Company is in support of facility and capital equipment upgrades for testing and qualification for
the United States Navy. This funding award is part of the Navy&#8217;s investment to improve and sustain the Surface Combatant Industrial
Base. Separately, the Company has budgeted approximately $500,000 for new equipment and plant improvements in fiscal year 2025, not reimbursable
under the funding award. A majority of these expenditures will be made to stay competitive in the marketplace and to meet the needs of
current contracts.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 5.85pt 0pt 0; text-align: justify">Management believes that the
Company's allowance for credit losses of $3,000 is adequate given the customers with whom the Company does business based on
historical experience, current economic market conditions, performance of specific account reviews, and other factored
considerations to include, but not limited to, contracts covered by government funding and the overall health of the industry.
Historically, bad debt expense has been minimal.</p><div>

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

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

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in">Item 8.</td><td style="text-align: justify">Financial Statements and Supplementary Data</td></tr></table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Report of Independent Registered Public Accounting
Firm (PCAOB ID <ix:nonNumeric contextRef="c0" name="dei:AuditorFirmId" id="ixv-6798">317</ix:nonNumeric>)</p><div>

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

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

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING
FIRM</p><div>

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">To the Stockholders and Board of Directors of</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Espey Mfg. &amp; Electronics Corp.</p><div>

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

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; ">Opinion on the Financial Statements</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; ">We have audited the accompanying
balance sheets of Espey Mfg. &amp; Electronics Corp. (the Company) as of June 30, 2024 and 2023, the related statements of comprehensive
income, changes in stockholders&#8217; equity and cash flows for the years then ended, and the related notes to the financial statements
(collectively, the financial statements). In our opinion, the financial statements present fairly, in all material respects, the financial
position of the Company as of June 30, 2024 and 2023, and the results of its operations and its cash flows for the years then ended, in
conformity with accounting principles generally accepted in the United States of America.</p><div>

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

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0">Basis for Opinion</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; ">These financial statements
are the responsibility of the Company&#8217;s management. Our responsibility is to express an opinion on the Company&#8217;s financial
statements based on our audits. We are a public accounting firm registered with the Public Company Accounting Oversight Board (United
States) (PCAOB) and are required to be independent with respect to the Company in accordance with U.S. federal securities laws and the
applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; ">We conducted our audits
in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance
about whether the financial statements are free of material misstatement, whether due to error or fraud. The Company is not required
to have, nor were we engaged to perform, an audit of its internal control over financial reporting. As part of our audits we are required
to obtain an understanding of internal control over financial reporting but not for the purpose of expressing an opinion on the effectiveness
of the Company&#8217;s internal control over financial reporting. Accordingly, we express no such opinion.</p><div>

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

</div><!-- Field: Page; Sequence: 11 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->10<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; ">Our audits included performing
procedures to assess the risks of material misstatement of the financial statements, whether due to error or fraud, and performing procedures
that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the
financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management,
as well as evaluating the overall presentation of the financial statements. We believe that our audits provide a reasonable basis for
our opinion.</p><div>

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The critical audit matters communicated below
are matters arising from the current period audit of the financial statements that were communicated or required to be communicated to
the audit committee and that: (1) relate to accounts or disclosures that are material to the financial statements and (2) involved our
especially challenging, subjective, or complex judgments. The communication of critical audit matters does not alter in any way our opinion
on the financial statements, taken as a whole, and we are not, by communicating the critical audit matters below, providing separate opinions
on the critical audit matters or on the accounts or disclosures to which they relate.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>Valuation of Inventory Costs Related to Contracts
in Process and Work in Process</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">As discussed in Notes 2 and 5 to the financial
statements, inventory relating to contracts in process and work in process is valued at cost, including factory overhead incurred to date.
Contract costs include material, subcontract costs, labor, and an allocation of overhead costs. The costs attributed to units delivered
under contracts are based on the estimated average cost of all units expected to be produced. Certain contracts are expected to extend
beyond twelve months.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The estimation of total cost at completion of
a contract is subject to variables involving contract costs and estimates as to the length of time to complete the contract. Given the
significance of the estimation processes and judgments described above, it is possible that materially different amounts of expected sales
and contract costs could be recorded if different assumptions were used, based on changes in circumstances, in the estimation process.
When a change in expected sales value or estimated cost is determined, changes are reflected in current period earnings. Due to the magnitude
of the inventory, and the subjectivity involved in estimating the total cost at completion we identified the evaluation of the estimate
to complete as a critical audit matter, which required a high degree of auditor judgment.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Addressing the matter involved performing subjective
procedures and evaluating audit evidence in connection with forming our overall opinion on the financial statements. The primary procedures
performed included the following:</p><div>

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

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">We obtained an understanding of the process and
assumptions used by management to develop estimates to complete including labor, overhead and materials.</span></td></tr></table><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">We tested total cost at completion of a contract
by using process employed by management, including:</span></td></tr></table><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0.75in"/><td style="width: 0.25in">o</td><td style="text-align: justify">Testing the completeness and accuracy of the source information used;</td></tr></table><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0.75in"/><td style="width: 0.25in">o</td><td style="text-align: justify">Testing the mathematical accuracy of management&#8217;s calculations;</td></tr></table><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0.75in"/><td style="width: 0.25in">o</td><td style="text-align: justify">Reviewing expected gross margin on contracts;</td></tr></table><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0.75in"/><td style="width: 0.25in">o</td><td style="text-align: justify">Evaluating the reasonableness and consistency of methodology and assumptions applied by management; and</td></tr></table><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0.75in"/><td style="width: 0.25in">o</td><td style="text-align: justify">Performing a retrospective review of the prior-year estimates used to identify potential bias of management
judgements.</td></tr></table><div>

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">/s/ <ix:nonNumeric contextRef="c0" name="dei:AuditorName" id="ixv-6799">Freed Maxick CPAs, P.C.</ix:nonNumeric></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">We have served as the Company's auditor since 2014.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><ix:nonNumeric contextRef="c0" name="dei:AuditorLocation" id="ixv-6800">Buffalo, New York</ix:nonNumeric></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">September 27, 2024</p><div>

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

</div><!-- Field: Page; Sequence: 12; Value: 1 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->11<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Espey Mfg. &amp; Electronics Corp.</p><div>

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

</div><p style="border-bottom: Black 0.5pt solid; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration: none">June
30, 2024 and 2023</span></p><div>

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

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>ASSETS</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; width: 70%; text-align: left">Cash and cash equivalents</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="0" unitRef="usd" id="ixv-6801">4,351,970</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="0" unitRef="usd" id="ixv-6802">2,748,755</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Investment securities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" scale="0" unitRef="usd" id="ixv-6803">18,878,631</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" scale="0" unitRef="usd" id="ixv-6804">11,964,673</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-align: left">Trade accounts receivable, less allowance for credit losses of $<ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="0" unitRef="usd" id="ixv-6805"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="0" unitRef="usd" id="ixv-6806">3,000</ix:nonFraction></ix:nonFraction></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableNetCurrent" scale="0" unitRef="usd" id="ixv-6807">6,635,490</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableNetCurrent" scale="0" unitRef="usd" id="ixv-6808">5,755,282</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Income tax receivable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-0">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxesReceivable" scale="0" unitRef="usd" id="ixv-6809">35,666</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt">Inventories:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 50pt; text-align: left">Raw materials</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:InventoryRawMaterials" scale="0" unitRef="usd" id="ixv-6810">1,693,448</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:InventoryRawMaterials" scale="0" unitRef="usd" id="ixv-6811">1,889,702</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 50pt">Work-in-process</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:InventoryWorkInProcess" scale="0" unitRef="usd" id="ixv-6812">1,645,973</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:InventoryWorkInProcess" scale="0" unitRef="usd" id="ixv-6813">681,300</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 50pt; text-align: left; padding-bottom: 1pt">Costs related to contracts in process</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:InventoryForLongTermContractsOrPrograms" scale="0" unitRef="usd" id="ixv-6814">15,904,588</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:InventoryForLongTermContractsOrPrograms" scale="0" unitRef="usd" id="ixv-6815">17,318,579</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 100pt; text-align: left">Total inventories</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:InventoryNet" scale="0" unitRef="usd" id="ixv-6816">19,244,009</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:InventoryNet" scale="0" unitRef="usd" id="ixv-6817">19,889,581</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Deferred tax asset</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="esp:DeferredTaxAssetsCurrent" scale="0" unitRef="usd" id="ixv-6818">895,154</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-1">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt">Prepaid expenses and other current assets</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="0" unitRef="usd" id="ixv-6819">3,231,402</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="0" unitRef="usd" id="ixv-6820">4,282,477</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 100pt; text-align: left">Total current assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AssetsCurrent" scale="0" unitRef="usd" id="ixv-6821">53,236,656</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AssetsCurrent" scale="0" unitRef="usd" id="ixv-6822">44,676,434</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt">Property, plant and equipment, net</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="0" unitRef="usd" id="ixv-6823">3,306,275</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="0" unitRef="usd" id="ixv-6824">2,825,089</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 100pt; text-align: left">Total assets</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="0" unitRef="usd" id="ixv-6825">56,542,931</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="0" unitRef="usd" id="ixv-6826">47,501,523</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="text-decoration: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-decoration: none; padding-bottom: 2.5pt">&#160;</td><td style="text-decoration: none; padding-bottom: 2.5pt">&#160;</td>
    <td style="text-decoration: none; text-align: left">&#160;</td><td style="text-decoration: none; text-align: right">&#160;</td><td style="text-decoration: none; white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="text-decoration: none; padding-bottom: 2.5pt">&#160;</td>
    <td style="text-decoration: none; text-align: left">&#160;</td><td style="text-decoration: none; text-align: right">&#160;</td><td style="text-decoration: none; white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left">LIABILITIES AND STOCKHOLDERS' EQUITY</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Accounts payable</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AccountsPayableCurrent" scale="0" unitRef="usd" id="ixv-6827">3,751,209</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AccountsPayableCurrent" scale="0" unitRef="usd" id="ixv-6828">1,212,375</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-align: left">Accrued expenses:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 50pt; text-align: left">Salaries and wages</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AccruedSalariesCurrent" scale="0" unitRef="usd" id="ixv-6829">928,163</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AccruedSalariesCurrent" scale="0" unitRef="usd" id="ixv-6830">890,748</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 50pt">Vacation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AccruedVacationCurrent" scale="0" unitRef="usd" id="ixv-6831">511,144</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AccruedVacationCurrent" scale="0" unitRef="usd" id="ixv-6832">685,188</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 50pt">Other</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:OtherEmployeeRelatedLiabilitiesCurrent" scale="0" unitRef="usd" id="ixv-6833">757,552</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:OtherEmployeeRelatedLiabilitiesCurrent" scale="0" unitRef="usd" id="ixv-6834">547,747</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-align: left">Payroll and other taxes withheld</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AccruedPayrollTaxesCurrent" scale="0" unitRef="usd" id="ixv-6835">56,862</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AccruedPayrollTaxesCurrent" scale="0" unitRef="usd" id="ixv-6836">66,042</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Contract liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="0" unitRef="usd" id="ixv-6837">9,043,422</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="0" unitRef="usd" id="ixv-6838">8,081,838</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt">Income taxes payable</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:TaxesPayableCurrent" scale="0" unitRef="usd" id="ixv-6839">220,607</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-2">&#8212;</div></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 100pt; text-align: left">Total current liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LiabilitiesCurrent" scale="0" unitRef="usd" id="ixv-6840">15,268,959</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LiabilitiesCurrent" scale="0" unitRef="usd" id="ixv-6841">11,483,938</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt">Deferred tax liabilities</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-3">&#8212;</div></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="esp:DeferredTaxLiability" scale="0" unitRef="usd" id="ixv-6842">137,827</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 100pt; text-align: left">Total liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:Liabilities" scale="0" unitRef="usd" id="ixv-6843">15,268,959</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:Liabilities" scale="0" unitRef="usd" id="ixv-6844">11,621,765</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-align: left">Commitments and Contingencies (See Note 14)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-4">&#160;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-5">&#160;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt">Common stock, par value $.33-1/3 per share</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -10pt; padding-left: 60pt"><div style="-sec-ix-hidden: hidden-fact-7; -sec-ix-hidden: hidden-fact-6">Authorized <ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" unitRef="shares" id="ixv-6845"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" unitRef="shares" id="ixv-6846">10,000,000</ix:nonFraction></ix:nonFraction> shares; Issued <ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesIssued" scale="0" unitRef="shares" id="ixv-6847"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesIssued" scale="0" unitRef="shares" id="ixv-6848">3,129,874</ix:nonFraction></ix:nonFraction> shares as of June 30, 2024 and 2023. Outstanding <ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" unitRef="shares" id="ixv-6849">2,733,958</ix:nonFraction> and <ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" unitRef="shares" id="ixv-6850">2,702,633</ix:nonFraction> shares as of June 30, 2024 and 2023, respectively (includes <ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesHeldInEmployeeTrustShares" scale="0" unitRef="shares" id="ixv-6851">211,487</ix:nonFraction> and <ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesHeldInEmployeeTrustShares" scale="0" unitRef="shares" id="ixv-6852">233,645</ix:nonFraction> Unearned ESOP Shares, respectively)</div></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CommonStockValue" scale="0" unitRef="usd" id="ixv-6853">1,043,291</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CommonStockValue" scale="0" unitRef="usd" id="ixv-6854">1,043,291</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt">Capital in excess of par value</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" scale="0" unitRef="usd" id="ixv-6855">23,930,428</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" scale="0" unitRef="usd" id="ixv-6856">23,283,245</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Accumulated other comprehensive gain (loss)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" scale="0" unitRef="usd" id="ixv-6857">6,544</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" scale="0" sign="-" unitRef="usd" id="ixv-6858">2,429</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt">Retained earnings</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="0" unitRef="usd" id="ixv-6859">26,004,790</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="0" unitRef="usd" id="ixv-6860">21,867,720</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="esp:TotalStockholdersEquityBeforyEsopAndTreasuryStock" scale="0" unitRef="usd" id="ixv-6861">50,985,053</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="esp:TotalStockholdersEquityBeforyEsopAndTreasuryStock" scale="0" unitRef="usd" id="ixv-6862">46,191,827</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt">Less:&#160;&#160;&#160;&#160;Unearned ESOP shares</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="esp:UnearnedEsopSharesCost" scale="0" unitRef="usd" id="ixv-6863">3,868,093</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="esp:UnearnedEsopSharesCost" scale="0" unitRef="usd" id="ixv-6864">4,273,378</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-indent: -10pt; padding-left: 60pt">Cost of <ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockCommonShares" scale="0" unitRef="shares" id="ixv-6865">395,916</ix:nonFraction> and <ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockCommonShares" scale="0" unitRef="shares" id="ixv-6866">427,241</ix:nonFraction> shares of common stock in treasury as of June 30, 2024 and 2023, respectively</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockValue" scale="0" unitRef="usd" id="ixv-6867">5,842,988</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockValue" scale="0" unitRef="usd" id="ixv-6868">6,038,691</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 100pt; text-align: left">Total stockholders' equity</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="0" unitRef="usd" id="ixv-6869">41,273,972</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="0" unitRef="usd" id="ixv-6870">35,879,758</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 100pt; text-align: left">Total liabilities and stockholders' equity</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="0" unitRef="usd" id="ixv-6871">56,542,931</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="0" unitRef="usd" id="ixv-6872">47,501,523</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The accompanying notes are an integral part of the financial statements.</p><div>


</div><!-- Field: Page; Sequence: 13; Value: 1 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->12<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>


</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Espey Mfg. &amp; Electronics Corp.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Statements of Comprehensive Income</p><div>

</div><p style="border-bottom: Black 0.5pt solid; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Years
Ended June 30, 2024 and 2023</p><div>

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

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap; text-align: right">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 70%; text-align: left">Net sales</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="0" unitRef="usd" id="ixv-6873">38,736,319</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="0" unitRef="usd" id="ixv-6874">35,592,323</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-bottom: 1pt">Cost of sales</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CostOfRevenue" scale="0" unitRef="usd" id="ixv-6875">28,083,259</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CostOfRevenue" scale="0" unitRef="usd" id="ixv-6876">27,541,785</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 30pt; text-align: left">Gross profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="0" unitRef="usd" id="ixv-6877">10,653,060</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="0" unitRef="usd" id="ixv-6878">8,050,538</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Selling, general and administrative expenses</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="0" unitRef="usd" id="ixv-6879">4,113,608</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="0" unitRef="usd" id="ixv-6880">3,750,524</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 30pt; text-align: left">Operating income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="0" unitRef="usd" id="ixv-6881">6,539,452</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="0" unitRef="usd" id="ixv-6882">4,300,014</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left">Other income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 30pt; text-align: left">Interest income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:InvestmentIncomeInterest" scale="0" unitRef="usd" id="ixv-6883">728,299</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:InvestmentIncomeInterest" scale="0" unitRef="usd" id="ixv-6884">359,617</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 30pt; padding-bottom: 1pt">Other</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:OtherNonoperatingIncome" scale="0" unitRef="usd" id="ixv-6885">27,263</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:OtherNonoperatingIncome" scale="0" unitRef="usd" id="ixv-6886">46,836</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 60pt; text-align: left; padding-bottom: 1pt">Total other income</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="0" unitRef="usd" id="ixv-6887">755,562</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="0" unitRef="usd" id="ixv-6888">406,453</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Income before provision for income taxes</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="0" unitRef="usd" id="ixv-6889">7,295,014</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="0" unitRef="usd" id="ixv-6890">4,706,467</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Provision for income taxes</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="0" unitRef="usd" id="ixv-6891">1,479,874</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="0" unitRef="usd" id="ixv-6892">1,029,336</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 60pt; text-align: left; padding-bottom: 2.5pt">Net income</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="0" unitRef="usd" id="ixv-6893">5,815,140</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="0" unitRef="usd" id="ixv-6894">3,677,131</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="text-decoration: none; vertical-align: bottom; ">
    <td style="text-decoration: none; padding-bottom: 2.5pt">&#160;</td><td style="text-decoration: none; padding-bottom: 2.5pt">&#160;</td>
    <td style="text-decoration: none; text-align: left">&#160;</td><td style="text-decoration: none; text-align: right">&#160;</td><td style="text-decoration: none; white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="text-decoration: none; padding-bottom: 2.5pt">&#160;</td>
    <td style="text-decoration: none; text-align: left">&#160;</td><td style="text-decoration: none; text-align: right">&#160;</td><td style="text-decoration: none; white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Other comprehensive income, net of tax:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 30pt; text-align: left; padding-bottom: 1pt">Unrealized gain (loss) on investment securities</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" scale="0" unitRef="usd" id="ixv-6895">8,973</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" scale="0" sign="-" unitRef="usd" id="ixv-6896">497</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 60pt; text-align: left; padding-bottom: 2.5pt">Total comprehensive income</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="0" unitRef="usd" id="ixv-6897">5,824,113</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="0" unitRef="usd" id="ixv-6898">3,676,634</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td>Net income per share:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 30pt">Basic</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" unitRef="usdPershares" id="ixv-6899">2.34</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c5" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" unitRef="usdPershares" id="ixv-6900">1.50</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 30pt">Diluted</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" unitRef="usdPershares" id="ixv-6901">2.29</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c5" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" unitRef="usdPershares" id="ixv-6902">1.49</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td>Weighted average number of shares outstanding:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 30pt">Basic</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" unitRef="shares" id="ixv-6903">2,489,165</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c5" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" unitRef="shares" id="ixv-6904">2,454,856</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 30pt">Diluted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" unitRef="shares" id="ixv-6905">2,536,967</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c5" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" unitRef="shares" id="ixv-6906">2,471,016</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The accompanying notes are an integral part of the financial statements.</p><div>


</div><!-- Field: Page; Sequence: 14; Value: 1 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->13<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>


</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Espey Mfg. &amp; Electronics Corp.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Statements of Changes in Stockholders' Equity</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; border-bottom: Black 0.5pt solid">Years Ended June 30, 2024 and 2023</p><div>

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

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="text-indent: -10pt; padding-left: 10pt; font: 9pt Times New Roman, Times, Serif; white-space: nowrap">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Accumulated</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="text-indent: -10pt; padding-left: 10pt; font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: justify">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Capital in</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Other</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Unearned</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Total</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="text-indent: -10pt; padding-left: 10pt; font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: justify">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Outstanding</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Common</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Excess of</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Comprehensive</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Retained</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Treasury</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Treasury</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">ESOP</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Stockholders&#8217;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="text-indent: -10pt; padding-left: 10pt; font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: justify">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Shares</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Amount</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Par Value</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Loss</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Earnings</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Shares</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Amount</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Shares</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Equity</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="text-indent: -10pt; padding-left: 10pt; font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: justify">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -10pt; padding-left: 10pt; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 10%; padding-bottom: 1pt">Balance as of June 30, 2022</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 8%; border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c6" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" unitRef="shares" id="ixv-6907">2,702,633</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 8%; border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c6" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="0" unitRef="usd" id="ixv-6908">1,043,291</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 8%; border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c7" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="0" unitRef="usd" id="ixv-6909">23,104,693</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 8%; border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c8" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="0" sign="-" unitRef="usd" id="ixv-6910">1,932</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">)</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 8%; border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c9" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="0" unitRef="usd" id="ixv-6911">18,679,857</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 8%; border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c10" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" unitRef="shares" id="ixv-6912">427,241</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 8%; border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c10" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="0" sign="-" unitRef="usd" id="ixv-6913">6,038,691</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">)</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 8%; border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c11" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="0" sign="-" unitRef="usd" id="ixv-6914">4,687,604</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">)</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 8%; border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c12" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="0" unitRef="usd" id="ixv-6915">32,099,614</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; ">
    <td style="text-indent: -10pt; padding-left: 10pt; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -10pt; padding-left: 10pt; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">Comprehensive income:</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; ">
    <td style="text-indent: -10pt; padding-left: 10pt; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -10pt; font: 9pt Times New Roman, Times, Serif; padding-left: 20pt; white-space: nowrap; text-align: left">Net income</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction contextRef="c13" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="0" unitRef="usd" id="ixv-6916">3,677,131</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="0" unitRef="usd" id="ixv-6917">3,677,131</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; ">
    <td style="text-indent: -10pt; font: 9pt Times New Roman, Times, Serif; padding-left: 20pt; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -10pt; font: 9pt Times New Roman, Times, Serif; padding-left: 20pt; white-space: nowrap; text-align: left; padding-bottom: 1pt">Other comprehensive loss, <br/>
net of tax of $<ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" scale="0" unitRef="usd" id="ixv-6918">104</ix:nonFraction></td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">(<ix:nonFraction contextRef="c14" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax" scale="0" sign="-" unitRef="usd" id="ixv-6919">497</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax" scale="0" sign="-" unitRef="usd" id="ixv-6920">497</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; ">
    <td style="text-indent: -10pt; font: 9pt Times New Roman, Times, Serif; padding-left: 20pt; white-space: nowrap; text-align: left; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -10pt; padding-left: 10pt; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt">Total comprehensive income</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="0" unitRef="usd" id="ixv-6921">3,676,634</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; ">
    <td style="text-indent: -10pt; padding-left: 10pt; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -10pt; padding-left: 10pt; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">Stock-based compensation</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction contextRef="c15" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition" scale="0" unitRef="usd" id="ixv-6922">227,132</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition" scale="0" unitRef="usd" id="ixv-6923">227,132</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; ">
    <td style="text-indent: -10pt; padding-left: 10pt; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -10pt; padding-left: 10pt; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">Dividends paid on common stock <br/>
$<ix:nonFraction contextRef="c5" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:CommonStockDividendsPerShareCashPaid" scale="0" unitRef="usdPershares" id="ixv-6924">0.20</ix:nonFraction> per share</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction contextRef="c13" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DividendsCommonStockCash" scale="0" unitRef="usd" id="ixv-6925">489,268</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">)</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DividendsCommonStockCash" scale="0" unitRef="usd" id="ixv-6926">489,268</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">)</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; ">
    <td style="text-indent: -10pt; padding-left: 10pt; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 9pt Times New Roman, Times, Serif; text-indent: -10pt; padding-left: 10pt; white-space: nowrap; padding-bottom: 1pt">Reduction of unearned ESOP shares</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction contextRef="c15" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" scale="0" sign="-" unitRef="usd" id="ixv-6927">48,580</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction contextRef="c16" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" scale="0" unitRef="usd" id="ixv-6928">414,226</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" scale="0" unitRef="usd" id="ixv-6929">365,646</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; ">
    <td style="text-indent: -10pt; padding-left: 10pt; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -10pt; padding-left: 10pt; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">Balance as of June 30, 2023</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c17" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" unitRef="shares" id="ixv-6930">2,702,633</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: left">$</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c17" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="0" unitRef="usd" id="ixv-6931">1,043,291</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: left">$</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c18" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="0" unitRef="usd" id="ixv-6932">23,283,245</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: left">$</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: right">(<ix:nonFraction contextRef="c19" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="0" sign="-" unitRef="usd" id="ixv-6933">2,429</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 2.5pt; text-align: left">)</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: left">$</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c20" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="0" unitRef="usd" id="ixv-6934">21,867,720</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c21" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" unitRef="shares" id="ixv-6935">427,241</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: left">$</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: right">(<ix:nonFraction contextRef="c21" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="0" sign="-" unitRef="usd" id="ixv-6936">6,038,691</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 2.5pt; text-align: left">)</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: left">$</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: right">(<ix:nonFraction contextRef="c22" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="0" sign="-" unitRef="usd" id="ixv-6937">4,273,378</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 2.5pt; text-align: left">)</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: left">$</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="0" unitRef="usd" id="ixv-6938">35,879,758</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The accompanying notes are an integral part of the financial statements.</p><div>

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

</div><!-- Field: Page; Sequence: 15; Value: 1 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->14<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Espey Mfg. &amp; Electronics Corp.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Statements of Changes in Stockholders' Equity</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; border-bottom: Black 0.5pt solid">Years Ended June 30, 2024 and 2023</p><div>

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

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Accumulated</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: justify">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Capital in</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Other</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Unearned</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Total</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: justify">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Outstanding</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Common</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Excess of</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Comprehensive</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Retained</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Treasury</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Treasury</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">ESOP</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Stockholders&#8217;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: justify">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Shares</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Amount</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Par Value</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">(Loss) Gain</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Earnings</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Shares</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Amount</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Shares</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Equity</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: justify">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -10pt; padding-left: 10pt; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 10%; padding-bottom: 1pt">Balance as of June 30, 2023</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 8%; border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c17" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" unitRef="shares" id="ixv-6939">2,702,633</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 8%; border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c17" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="0" unitRef="usd" id="ixv-6940">1,043,291</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 8%; border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c18" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="0" unitRef="usd" id="ixv-6941">23,283,245</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 8%; border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c19" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="0" sign="-" unitRef="usd" id="ixv-6942">2,429</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">)</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 8%; border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c20" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="0" unitRef="usd" id="ixv-6943">21,867,720</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 8%; border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c21" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" unitRef="shares" id="ixv-6944">427,241</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 8%; border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c21" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="0" sign="-" unitRef="usd" id="ixv-6945">6,038,691</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">)</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 8%; border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c22" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="0" sign="-" unitRef="usd" id="ixv-6946">4,273,378</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">)</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; width: 8%; border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="0" unitRef="usd" id="ixv-6947">35,879,758</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; ">
    <td style="text-indent: -10pt; padding-left: 10pt; white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -10pt; padding-left: 10pt; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">Comprehensive income:</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; ">
    <td style="text-indent: -10pt; padding-left: 10pt; white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 9pt Times New Roman, Times, Serif; text-indent: -10pt; padding-left: 20pt; white-space: nowrap; text-align: left">Net income</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction contextRef="c23" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="0" unitRef="usd" id="ixv-6948">5,815,140</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="0" unitRef="usd" id="ixv-6949">5,815,140</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; ">
    <td style="text-indent: -10pt; padding-left: 10pt; white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 9pt Times New Roman, Times, Serif; text-indent: -10pt; padding-left: 20pt; white-space: nowrap; text-align: left; padding-bottom: 1pt">Other comprehensive income, <br/>
net of tax of $<ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" scale="0" unitRef="usd" id="ixv-6950">1,884</ix:nonFraction></td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right"><ix:nonFraction contextRef="c24" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax" scale="0" unitRef="usd" id="ixv-6951">8,973</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax" scale="0" unitRef="usd" id="ixv-6952">8,973</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; ">
    <td style="text-indent: -10pt; padding-left: 10pt; white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -10pt; padding-left: 10pt; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt">Total comprehensive income</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="0" unitRef="usd" id="ixv-6953">5,824,113</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; ">
    <td style="text-indent: -10pt; padding-left: 10pt; white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -10pt; padding-left: 10pt; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">Stock options exercised</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction contextRef="c25" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" unitRef="shares" id="ixv-6954">31,325</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction contextRef="c26" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="0" sign="-" unitRef="usd" id="ixv-6955">330,659</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction contextRef="c27" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" sign="-" unitRef="shares" id="ixv-6956">31,325</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">)</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction contextRef="c27" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="0" sign="-" unitRef="usd" id="ixv-6957">195,703</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="0" sign="-" unitRef="usd" id="ixv-6958">526,362</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; ">
    <td style="text-indent: -10pt; padding-left: 10pt; white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -10pt; padding-left: 10pt; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">Stock-based compensation</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction contextRef="c26" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition" scale="0" unitRef="usd" id="ixv-6959">283,673</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition" scale="0" unitRef="usd" id="ixv-6960">283,673</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; ">
    <td style="text-indent: -10pt; padding-left: 10pt; white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -10pt; padding-left: 10pt; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">Dividends paid on common stock <br/>
$<ix:nonFraction contextRef="c0" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:CommonStockDividendsPerShareCashPaid" scale="0" unitRef="usdPershares" id="ixv-6961">0.675</ix:nonFraction> per share</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction contextRef="c23" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DividendsCommonStockCash" scale="0" unitRef="usd" id="ixv-6962">1,678,070</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">)</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DividendsCommonStockCash" scale="0" unitRef="usd" id="ixv-6963">1,678,070</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">)</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; ">
    <td style="text-indent: -10pt; padding-left: 10pt; white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -10pt; padding-left: 10pt; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">Reduction of unearned ESOP shares</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction contextRef="c26" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" scale="0" unitRef="usd" id="ixv-6964">32,851</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction contextRef="c28" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" scale="0" unitRef="usd" id="ixv-6965">405,285</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font: 9pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" scale="0" unitRef="usd" id="ixv-6966">438,136</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; ">
    <td style="text-indent: -10pt; padding-left: 10pt; white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="font: 9pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -10pt; padding-left: 10pt; white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">Balance as of June 30, 2024</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c29" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" unitRef="shares" id="ixv-6967">2,733,958</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: left">$</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c29" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="0" unitRef="usd" id="ixv-6968">1,043,291</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: left">$</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c30" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="0" unitRef="usd" id="ixv-6969">23,930,428</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: left">$</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c31" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="0" unitRef="usd" id="ixv-6970">6,544</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: left">$</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c32" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="0" unitRef="usd" id="ixv-6971">26,004,790</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c33" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" unitRef="shares" id="ixv-6972">395,916</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: left">$</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: right">(<ix:nonFraction contextRef="c33" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="0" sign="-" unitRef="usd" id="ixv-6973">5,842,988</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 2.5pt; text-align: left">)</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: left">$</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: right">(<ix:nonFraction contextRef="c34" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="0" sign="-" unitRef="usd" id="ixv-6974">3,868,093</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 2.5pt; text-align: left">)</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: left">$</td><td style="white-space: nowrap; font: 9pt Times New Roman, Times, Serif; border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="0" unitRef="usd" id="ixv-6975">41,273,972</ix:nonFraction></td><td style="font: 9pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The accompanying notes are an integral part of the financial statements.</p><div>


</div><!-- Field: Page; Sequence: 16; Value: 1 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->15<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>


</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Espey Mfg. &amp; Electronics Corp.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Statements of Cash Flows</p><div>

</div><p style="border-bottom: Black 0.5pt solid; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Years Ended June 30, 2024 and 2023</p><div>

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

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="padding-left: 10pt; white-space: nowrap; text-indent: -10pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; white-space: nowrap; text-indent: -10pt">Cash Flows from Operating Activities:</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 10pt; white-space: nowrap; text-indent: -10pt">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; width: 70%; text-align: left; text-indent: -10pt">Net income</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="0" unitRef="usd" id="ixv-6976">5,815,140</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="0" unitRef="usd" id="ixv-6977">3,677,131</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-align: left; text-indent: -10pt">Adjustments to reconcile net income to net cash provided by operating activities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left; text-indent: -10pt">Stock-based compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensation" scale="0" unitRef="usd" id="ixv-6978">283,673</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensation" scale="0" unitRef="usd" id="ixv-6979">227,132</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-indent: -10pt">Depreciation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:Depreciation" scale="0" unitRef="usd" id="ixv-6980">453,517</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:Depreciation" scale="0" unitRef="usd" id="ixv-6981">484,920</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left; text-indent: -10pt">ESOP compensation expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:EmployeeStockOwnershipPlanESOPCompensationExpense" scale="0" unitRef="usd" id="ixv-6982">438,136</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:EmployeeStockOwnershipPlanESOPCompensationExpense" scale="0" unitRef="usd" id="ixv-6983">365,646</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-align: left; text-indent: -10pt">Deferred income tax benefit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="0" sign="-" unitRef="usd" id="ixv-6984">1,032,981</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="0" sign="-" unitRef="usd" id="ixv-6985">40,002</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left; text-indent: -10pt">Loss (gain) on disposal of property, plant and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="0" sign="-" unitRef="usd" id="ixv-6986">590</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="0" unitRef="usd" id="ixv-6987">2,500</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-indent: -10pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left; text-indent: -10pt">Changes in assets and liabilities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 50pt; text-align: left; text-indent: -10pt">Increase in trade accounts receivable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="0" unitRef="usd" id="ixv-6988">880,208</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="0" unitRef="usd" id="ixv-6989">22,108</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 50pt; text-align: left; text-indent: -10pt">Decrease (increase) in income tax receivable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInIncomeTaxesReceivable" scale="0" sign="-" unitRef="usd" id="ixv-6990">35,666</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInIncomeTaxesReceivable" scale="0" unitRef="usd" id="ixv-6991">35,666</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 50pt; text-align: left; text-indent: -10pt">Decrease (increase) in inventories</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInInventories" scale="0" sign="-" unitRef="usd" id="ixv-6992">645,572</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInInventories" scale="0" unitRef="usd" id="ixv-6993">1,329,132</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 50pt; text-align: left; text-indent: -10pt">Decrease (increase) in prepaid expenses and other current assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="0" sign="-" unitRef="usd" id="ixv-6994">1,051,075</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="0" unitRef="usd" id="ixv-6995">3,289,703</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 50pt; text-align: left; text-indent: -10pt">Increase (decrease) in accounts payable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccountsPayable" scale="0" unitRef="usd" id="ixv-6996">2,538,833</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccountsPayable" scale="0" sign="-" unitRef="usd" id="ixv-6997">866,802</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 50pt; text-align: left; text-indent: -10pt">Increase in accrued salaries and wages</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccruedSalaries" scale="0" unitRef="usd" id="ixv-6998">37,415</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccruedSalaries" scale="0" unitRef="usd" id="ixv-6999">263,561</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 50pt; text-align: left; text-indent: -10pt">(Decrease) increase in vacation accrual</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="esp:IncreaseDecreaseInVacationAccrual" scale="0" sign="-" unitRef="usd" id="ixv-7000">174,044</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="esp:IncreaseDecreaseInVacationAccrual" scale="0" unitRef="usd" id="ixv-7001">18,808</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 50pt; text-align: left; text-indent: -10pt">Increase (decrease) in other accrued expenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInOtherAccruedLiabilities" scale="0" unitRef="usd" id="ixv-7002">209,805</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInOtherAccruedLiabilities" scale="0" sign="-" unitRef="usd" id="ixv-7003">204,807</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 50pt; text-align: left; text-indent: -10pt">(Decrease) increase in payroll and other taxes withheld</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="esp:IncreasedecreaseInPayrollAndOtherTaxesWithheld" scale="0" sign="-" unitRef="usd" id="ixv-7004">9,180</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="esp:IncreasedecreaseInPayrollAndOtherTaxesWithheld" scale="0" unitRef="usd" id="ixv-7005">10,750</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 50pt; text-align: left; text-indent: -10pt">Increase in contract liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="0" unitRef="usd" id="ixv-7006">961,584</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="0" unitRef="usd" id="ixv-7007">4,697,364</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 50pt; text-align: left; padding-bottom: 1pt; text-indent: -10pt">Increase (decrease) in income taxes
    payable</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" scale="0" unitRef="usd" id="ixv-7008">220,607</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" scale="0" sign="-" unitRef="usd" id="ixv-7009">54,722</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 80pt; text-align: left; padding-bottom: 1pt; text-indent: -10pt">Net cash provided by operating activities</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="0" unitRef="usd" id="ixv-7010">10,595,200</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="0" unitRef="usd" id="ixv-7011">3,899,870</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 10pt; text-indent: -10pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; text-indent: -10pt">Cash Flows from Investing Activities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-align: left; text-indent: -10pt">Additions to property, plant and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="0" unitRef="usd" id="ixv-7012">5,164,165</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="0" unitRef="usd" id="ixv-7013">512,016</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left; text-indent: -10pt">Proceeds from grant award</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="esp:ProceedsFromGrantAward" scale="0" unitRef="usd" id="ixv-7014">4,228,722</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-8">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-align: left; text-indent: -10pt">Proceeds from sale of property, plant and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" scale="0" unitRef="usd" id="ixv-7015">150</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" scale="0" unitRef="usd" id="ixv-7016">2,500</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left; text-indent: -10pt">Purchase of investment securities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:PaymentsToAcquireInvestments" scale="0" unitRef="usd" id="ixv-7017">26,423,984</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:PaymentsToAcquireInvestments" scale="0" unitRef="usd" id="ixv-7018">15,902,014</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt; text-indent: -10pt">Proceeds from sale/maturity of investment securities</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities" scale="0" unitRef="usd" id="ixv-7019">19,519,000</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities" scale="0" unitRef="usd" id="ixv-7020">7,645,623</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 80pt; text-align: left; padding-bottom: 1pt; text-indent: -10pt">Net cash used in investing activities</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="0" sign="-" unitRef="usd" id="ixv-7021">7,840,277</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="0" sign="-" unitRef="usd" id="ixv-7022">8,765,907</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 10pt; text-indent: -10pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; text-indent: -10pt">Cash Flows from Financing Activities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-align: left; text-indent: -10pt">Dividends paid on common stock</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:PaymentsOfDividendsCommonStock" scale="0" unitRef="usd" id="ixv-7023">1,678,070</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:PaymentsOfDividendsCommonStock" scale="0" unitRef="usd" id="ixv-7024">489,268</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt; text-indent: -10pt">Proceeds from exercise of stock options</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ProceedsFromRepurchaseOfEquity" scale="0" unitRef="usd" id="ixv-7025">526,362</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-9">&#8212;</div></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 80pt; text-align: left; padding-bottom: 1pt; text-indent: -10pt">Net cash used in financing activities</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="0" sign="-" unitRef="usd" id="ixv-7026">1,151,708</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="0" sign="-" unitRef="usd" id="ixv-7027">489,268</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-indent: -10pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 10pt; text-align: left; text-indent: -10pt">Increase (decrease) in cash and cash equivalents</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" scale="0" unitRef="usd" id="ixv-7028">1,603,215</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" scale="0" sign="-" unitRef="usd" id="ixv-7029">5,355,305</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt; text-indent: -10pt">Cash and cash equivalents, beginning of the year</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="0" unitRef="usd" id="ixv-7030">2,748,755</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c12" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="0" unitRef="usd" id="ixv-7031">8,104,060</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt; text-indent: -10pt">Cash and cash equivalents, end of the year</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="0" unitRef="usd" id="ixv-7032">4,351,970</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="0" unitRef="usd" id="ixv-7033">2,748,755</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-indent: -10pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 10pt; text-align: left; text-indent: -10pt">Supplemental Schedule of Cash Flow Information:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left; text-indent: -10pt">Income taxes paid</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxesPaidNet" scale="0" unitRef="usd" id="ixv-7034">2,258,965</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxesPaidNet" scale="0" unitRef="usd" id="ixv-7035">1,159,595</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The accompanying notes are an integral part of the financial statements.</p><div>

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


</div><!-- Field: Page; Sequence: 17; Value: 1 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->16<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>


</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Espey Mfg. &amp; Electronics Corp.</p><div>

</div><p style="border-bottom: Black 0.5pt solid; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration: none">Notes
to Financial Statements </span></p><div>

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

</div><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:NatureOfOperations" id="ixv-4115"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -0.75in">Note 1. Nature
of Operations</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Espey Mfg. &amp; Electronics Corp. (the Company)
is a manufacturer of electronic equipment used primarily in military and industrial applications. The principal markets for the Company's
products are companies that provide electronic support to both military and industrial applications across the United States and at some
international locations.</p></ix:nonNumeric><div>

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

</div><ix:nonNumeric contextRef="c0" continuedAt="_SignificantAccountingPoliciesTextBlock-c0_cont_1" escape="true" name="us-gaap:SignificantAccountingPoliciesTextBlock" id="ixv-4122"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Note 2. Summary of Significant Accounting Policies</p>

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

<ix:nonNumeric contextRef="c0" continuedAt="_RevenueFromContractWithCustomerPolicyTextBlock-c0_cont_1" escape="true" name="us-gaap:RevenueFromContractWithCustomerPolicyTextBlock" id="ixv-4125"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Revenue</p></ix:nonNumeric>

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

<ix:continuation continuedAt="_RevenueFromContractWithCustomerPolicyTextBlock-c0_cont_2" id="_RevenueFromContractWithCustomerPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The majority of our sales are generated from military
contracts from defense companies, the Department of Defense, other agencies of the government of the United States and foreign governments,
for the design and development and/or manufacture of products. Sales are also generated from industrial manufacturers for similar services.
We provide our products and design and development services under fixed-price contracts. Under fixed-price contracts we agree to perform
the specified work for a pre-determined price. To the extent our actual costs vary from the estimates upon which the price was negotiated,
we will generate more or less profit or could incur a loss.</p></ix:continuation>

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

<ix:continuation continuedAt="_RevenueFromContractWithCustomerPolicyTextBlock-c0_cont_3" id="_RevenueFromContractWithCustomerPolicyTextBlock-c0_cont_2"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We account for a contract with a customer after
it has been approved by all parties to the arrangement, the rights of the parties are identified, payment terms are identified, the contract
has commercial substance, and collection of substantially all of the amount to which the entity will be entitled in exchange for the goods
or services that will be transferred to the customer is probable. We assess each contract at its inception to determine whether it should
be combined with other contracts. When making this determination, we consider factors such as whether two or more contracts were negotiated
and executed at or near the same time, or were negotiated with an overall profit objective.</p></ix:continuation>

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

<ix:continuation continuedAt="_RevenueFromContractWithCustomerPolicyTextBlock-c0_cont_4" id="_RevenueFromContractWithCustomerPolicyTextBlock-c0_cont_3"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We evaluate the products or services promised
in each contract at inception to determine whether the contract should be accounted for as having one or more performance obligations.
Significant judgment is required in determining performance obligations. We determine the transaction price for each contract based on
the consideration we expect to receive for the products or services being provided under the contract. The transaction price for each
performance obligation is based on the estimated standalone selling price of the product or service underlying each performance obligation.
Transaction prices on our contracts subject to the Federal Acquisition Regulations (FAR) are typically based on estimated costs plus a
reasonable profit margin.</p></ix:continuation>

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

<ix:continuation id="_RevenueFromContractWithCustomerPolicyTextBlock-c0_cont_4"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We recognize revenue using the output method based
on the appraisal of results achieved and milestones reached or units delivered based on contractual shipment terms, typically shipping
point.</p></ix:continuation>

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

<ix:nonNumeric contextRef="c0" continuedAt="_InventoryPolicyTextBlock-c0_cont_1" escape="true" name="us-gaap:InventoryPolicyTextBlock" id="ixv-4140"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Inventory</p></ix:nonNumeric>

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

<ix:continuation continuedAt="_InventoryPolicyTextBlock-c0_cont_2" id="_InventoryPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Raw materials are valued at the lower of cost
(average cost) or net realizable value. Balances for slow-moving and obsolete inventory are reviewed on a regular basis by analyzing estimated
demand, inventory on hand, sales levels, market conditions, and other information and reduce inventory balances based on this analysis.</p></ix:continuation>

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

<ix:continuation continuedAt="_InventoryPolicyTextBlock-c0_cont_3" id="_InventoryPolicyTextBlock-c0_cont_2"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Inventory relating to contracts in process and
work in process is valued at cost, including factory overhead incurred to date. Contract costs include material, subcontract costs, labor,
and an allocation of overhead costs. Work in process represents spare units and parts and other inventory items acquired or produced to
service units previously sold or to meet anticipated future orders. Provision for losses on contracts is made when the existence of such
losses becomes probable and estimable.&#160;The provision for losses on contracts is included in other accrued expenses on the Company&#8217;s
balance sheet.&#160;The costs attributed to units delivered under contracts are based on the estimated average cost of all units expected
to be produced.&#160; Certain contracts are expected to extend beyond <ix:nonNumeric contextRef="c0" format="ixt-sec:durwordsen" name="esp:ContractExtendTerm" id="ixv-7036">twelve months</ix:nonNumeric>.</p></ix:continuation>

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

<ix:continuation id="_InventoryPolicyTextBlock-c0_cont_3"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The estimation of total cost at completion of
a contract is subject to numerous variables involving contract costs and estimates as to the length of time to complete the contract.&#160;Given
the significance of the estimation processes and judgments described above, it is possible that materially different amounts of expected
sales and contract costs could be recorded if different assumptions were used, based on changes in circumstances, in the estimation process.&#160;When
a change in expected sales value or estimated cost is determined, the change is reflected in current period earnings.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p></ix:continuation></ix:nonNumeric><div>

</div><div>

</div><!-- Field: Page; Sequence: 18 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->17<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Espey Mfg. &amp; Electronics Corp.</p><p style="border-bottom: Black 0.5pt solid; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration: none">Notes to Financial Statements </span></p><p style="padding-top: 10pt; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-right: 0pt; margin-left: 0pt; text-align: justify">Note 2. Summary of Significant Accounting Policies, <i>Continued</i></p></div><div>
    </div><!-- Field: /Page --><div>

</div><ix:continuation continuedAt="_SignificantAccountingPoliciesTextBlock-c0_cont_2" id="_SignificantAccountingPoliciesTextBlock-c0_cont_1"><ix:nonNumeric contextRef="c0" continuedAt="esp_ContractLiabilitiesPolicyTextBlock-c0_cont_1" escape="true" name="esp:ContractLiabilitiesPolicyTextBlock" id="ixv-4167"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Contract Liabilities</p></ix:nonNumeric>

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

<ix:continuation id="esp_ContractLiabilitiesPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Contract liabilities include advance payments
and billings in excess of revenue recognized.</p></ix:continuation>

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

<ix:nonNumeric contextRef="c0" continuedAt="_DepreciationDepletionAndAmortizationPolicyTextBlock-c0_cont_1" escape="true" name="us-gaap:DepreciationDepletionAndAmortizationPolicyTextBlock" id="ixv-4173"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Depreciation</p></ix:nonNumeric>

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

<ix:continuation continuedAt="_DepreciationDepletionAndAmortizationPolicyTextBlock-c0_cont_2" id="_DepreciationDepletionAndAmortizationPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Depreciation of plant and equipment is computed
on a straight-line basis over the estimated useful lives of the assets.&#160;</p></ix:continuation>

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

<ix:continuation continuedAt="_DepreciationDepletionAndAmortizationPolicyTextBlock-c0_cont_3" id="_DepreciationDepletionAndAmortizationPolicyTextBlock-c0_cont_2"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><ix:nonNumeric contextRef="c0" continuedAt="esp_ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock-c0_cont_1" escape="true" name="esp:ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock" id="ixv-7037">Estimated useful lives of depreciable assets are
as follows:</ix:nonNumeric></p></ix:continuation>

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

<ix:continuation id="esp_ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock-c0_cont_1"><ix:continuation id="_DepreciationDepletionAndAmortizationPolicyTextBlock-c0_cont_3"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 80%; border-collapse: collapse; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="width: 50%; text-align: justify">Buildings and improvements </td>
    <td style="width: 50%; text-align: right"><ix:nonNumeric contextRef="c37" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="ixv-7038">10</ix:nonNumeric> &#8211; <ix:nonNumeric contextRef="c38" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="ixv-7039">50</ix:nonNumeric> years</td></tr>
  <tr style="vertical-align: top; ">
    <td style="text-align: justify">Machinery and equipment</td>
    <td style="text-align: right"><ix:nonNumeric contextRef="c39" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="ixv-7040">3</ix:nonNumeric> &#8211; <ix:nonNumeric contextRef="c40" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="ixv-7041">20</ix:nonNumeric> years</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Furniture and fixtures</td>
    <td style="text-align: right"><ix:nonNumeric contextRef="c41" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="ixv-7042">7</ix:nonNumeric> &#8211; <ix:nonNumeric contextRef="c42" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="ixv-7043">10</ix:nonNumeric> years</td></tr>
  </table></ix:continuation></ix:continuation>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<ix:nonNumeric contextRef="c0" continuedAt="_IncomeTaxPolicyTextBlock-c0_cont_1" escape="true" name="us-gaap:IncomeTaxPolicyTextBlock" id="ixv-4195"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Income Taxes</p></ix:nonNumeric>

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

<ix:continuation continuedAt="_IncomeTaxPolicyTextBlock-c0_cont_2" id="_IncomeTaxPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company follows the provisions of Accounting
Standards Codification (&#8220;ASC&#8221;) Topic 740-10, "Accounting for Income Taxes."</p></ix:continuation>

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

<ix:continuation id="_IncomeTaxPolicyTextBlock-c0_cont_2"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Under the provisions of ASC 740-10, deferred tax
assets and liabilities are recognized for the future tax consequences attributable to differences between the financial statement carrying
amounts of existing assets and liabilities and their respective tax bases.&#160;Deferred tax assets and liabilities are measured using
enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or
settled.&#160;The effect on deferred taxes and liabilities of a change in tax rates is recognized in earnings in the period that includes
the enactment date.</p></ix:continuation>

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

<ix:nonNumeric contextRef="c0" continuedAt="_CashAndCashEquivalentsPolicyTextBlock-c0_cont_1" escape="true" name="us-gaap:CashAndCashEquivalentsPolicyTextBlock" id="ixv-4204"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Cash and Cash Equivalents</p></ix:nonNumeric>

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

<ix:continuation id="_CashAndCashEquivalentsPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Cash and cash equivalents consist of cash and
money market funds. The Company considers all highly liquid investments with original maturities of three months or less to be cash equivalents.&#160;</p></ix:continuation>

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

<ix:nonNumeric contextRef="c0" continuedAt="_InvestmentPolicyTextBlock-c0_cont_1" escape="true" name="us-gaap:InvestmentPolicyTextBlock" id="ixv-4210"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Investment Securities</p></ix:nonNumeric>

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

<ix:continuation continuedAt="_InvestmentPolicyTextBlock-c0_cont_2" id="_InvestmentPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company accounts for its investments in debt
securities in accordance with ASC 320-10-25, &#8220;Accounting for Certain Investments in Debt and Equity Securities.&#8221;&#160;Investments
in debt securities at June 30, 2024 and  2023 consisted of municipal bonds and treasury bills.&#160;The Company classifies investments
in debt securities as available-for-sale. Unrealized holding gains and losses, net of related tax effect, on available-for-sale debt securities
are excluded from earnings and are reported as a separate component of stockholders&#8217; equity until realized.&#160;Realized gains
and losses for debt securities classified as available-for-sale are included in earnings and are determined using the specific identification
method.&#160;Interest income is recognized when earned.&#160;Fair values are based on quoted market prices available as of the balance
sheet date, and are therefore considered a Level 1 valuation.</p></ix:continuation>

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

<ix:continuation id="_InvestmentPolicyTextBlock-c0_cont_2"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Certificates of deposit held for investment with
an original maturity greater than three months are carried at amortized cost and reported as short-term investments on the balance sheets.
The type of certificates of deposit that the Company invests in are not considered debt securities under Financial Accounting Standards
Board ("FASB") Accounting Standards Codification (&#8220;ASC&#8221;) 320, Investments - Debt Securities.</p></ix:continuation>

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

<ix:nonNumeric contextRef="c0" continuedAt="_FairValueOfFinancialInstrumentsPolicy-c0_cont_1" escape="true" name="us-gaap:FairValueOfFinancialInstrumentsPolicy" id="ixv-4219"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Fair Value of Financial Instruments</p></ix:nonNumeric>

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

<ix:continuation continuedAt="_FairValueOfFinancialInstrumentsPolicy-c0_cont_2" id="_FairValueOfFinancialInstrumentsPolicy-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Accounting Standards Codification (&#8220;ASC&#8221;)
820 establishes a fair value hierarchy which requires an entity to maximize the use of observable inputs and minimize the use of unobservable
inputs when measuring fair value.&#160;The standard describes three levels of inputs that may be used to measure fair value:</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p></ix:continuation></ix:continuation><div>

</div><div>

</div><!-- Field: Page; Sequence: 19 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->18<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Espey Mfg. &amp; Electronics Corp.</p><p style="border-bottom: Black 0.5pt solid; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration: none">Notes to Financial Statements </span></p><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 10pt; margin-right: 0pt; margin-left: 0pt; text-align: justify">Note 2. Summary of Significant Accounting Policies, <i>Continued</i></p></div><div>
    </div><!-- Field: /Page --><div>



</div><ix:continuation continuedAt="_SignificantAccountingPoliciesTextBlock-c0_cont_3" id="_SignificantAccountingPoliciesTextBlock-c0_cont_2"><ix:continuation continuedAt="_FairValueOfFinancialInstrumentsPolicy-c0_cont_3" id="_FairValueOfFinancialInstrumentsPolicy-c0_cont_2"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span>&#9726;</span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Level
1: Quoted prices (unadjusted) for identical assets or liabilities in active markets that the entity has the ability to access as of the
measurement date.</p></ix:continuation>

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

<ix:continuation continuedAt="_FairValueOfFinancialInstrumentsPolicy-c0_cont_4" id="_FairValueOfFinancialInstrumentsPolicy-c0_cont_3"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span>&#9726;</span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Level
2: Significant other observable inputs other than Level 1 prices such as quoted prices for similar assets or liabilities; quoted prices
in markets that are not active; or other inputs that are observable or can be corroborated by observable market data.</p></ix:continuation>

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

<ix:continuation continuedAt="_FairValueOfFinancialInstrumentsPolicy-c0_cont_5" id="_FairValueOfFinancialInstrumentsPolicy-c0_cont_4"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span>&#9726;</span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Level
3: Significant unobservable inputs that reflect a reporting entity&#8217;s own assumptions about the assumptions that market participants
would use in pricing an asset or liability.</p></ix:continuation>

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

<ix:continuation id="_FairValueOfFinancialInstrumentsPolicy-c0_cont_5"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The carrying amounts of financial instruments,
including cash and cash equivalents, short term investment securities, accounts receivable, accounts payable and accrued expenses, approximated
fair value as of June 30, 2024 and 2023 because of the immediate or short-term maturity of these financial instruments.&#160;</p></ix:continuation>

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

<ix:nonNumeric contextRef="c0" continuedAt="_TradeAndOtherAccountsReceivablePolicy-c0_cont_1" escape="true" name="us-gaap:TradeAndOtherAccountsReceivablePolicy" id="ixv-4255"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Accounts Receivable and Allowance for Credit Losses</p></ix:nonNumeric>

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

<ix:continuation id="_TradeAndOtherAccountsReceivablePolicy-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company extends credit to its customers in
the normal course of business and collateral is generally not required for trade receivables.&#160;Exposure to credit risk is controlled
through the use of credit approvals, credit limits, and monitoring procedures.&#160;Accounts receivable are reported net of an allowance
for credit losses.&#160;The Company estimates the allowance based on its analysis of historical experience, current economic market conditions,
performance of specific account reviews, and other factored considerations to include, but not limited to, contracts covered by government
funding and the overall health of the industry. Interest is not charged on past due balances. Based on these factors, there was an allowance for credit losses of $<ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="0" unitRef="usd" id="ixv-7044"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="0" unitRef="usd" id="ixv-7045">3,000</ix:nonFraction></ix:nonFraction> at June 30, 2024 and 2023. Changes to the allowance for credit
losses are charged to expense and reduced by charge-offs, net of recoveries. The opening accounts receivable balance, net of allowance
for credit losses of $<ix:nonFraction contextRef="c35" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="0" unitRef="usd" id="ixv-7046"><ix:nonFraction contextRef="c36" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="0" unitRef="usd" id="ixv-7047">3,000</ix:nonFraction></ix:nonFraction>, at July 1, 2022 and July 1, 2023 were $<ix:nonFraction contextRef="c35" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableNetCurrent" scale="0" unitRef="usd" id="ixv-7048">5,733,174</ix:nonFraction> and $<ix:nonFraction contextRef="c36" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableNetCurrent" scale="0" unitRef="usd" id="ixv-7049">5,755,282</ix:nonFraction>, respectively.</p></ix:continuation>

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

<ix:nonNumeric contextRef="c0" continuedAt="_EarningsPerSharePolicyTextBlock-c0_cont_1" escape="true" name="us-gaap:EarningsPerSharePolicyTextBlock" id="ixv-4261"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Per Share Amounts</p></ix:nonNumeric>

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

<ix:continuation id="_EarningsPerSharePolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">ASC 260-10 &#8220;Earnings Per Share (EPS)&#8221;
requires the Company to calculate net income per share based on basic and diluted net income per share, as defined.&#160;Basic EPS excludes
dilution and is computed by dividing net income by the weighted average number of shares outstanding for the period.&#160;Diluted EPS
reflects the potential dilution that could occur if securities or other contracts to issue common stock were exercised or converted into
common stock.&#160;The dilutive effect of outstanding options issued by the Company are reflected in diluted EPS using the treasury stock
method.&#160;Under the treasury stock method, options will only have a dilutive effect when the average market price of common stock during
the period exceeds the exercise price of the options.</p></ix:continuation>

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

<ix:nonNumeric contextRef="c0" continuedAt="_ComprehensiveIncomePolicyPolicyTextBlock-c0_cont_1" escape="true" name="us-gaap:ComprehensiveIncomePolicyPolicyTextBlock" id="ixv-4267"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Comprehensive Income</p></ix:nonNumeric>

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

<ix:continuation id="_ComprehensiveIncomePolicyPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Comprehensive income consists of net income and
other comprehensive income (loss).&#160;Other comprehensive income for fiscal years ended June 30, 2024 and 2023 consists of unrealized
holding gains (losses) on available-for-sale debt securities.&#160;</p></ix:continuation>

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

<ix:nonNumeric contextRef="c0" continuedAt="_UseOfEstimates-c0_cont_1" escape="true" name="us-gaap:UseOfEstimates" id="ixv-4273"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Use of Estimates</p></ix:nonNumeric>

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

<ix:continuation id="_UseOfEstimates-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The preparation of financial statements in conformity
with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that
affect the reported amount of assets and liabilities and 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. Actual results could differ from those estimates.</p></ix:continuation>

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

<ix:nonNumeric contextRef="c0" continuedAt="esp_RecentlyAdoptedAccountingStandardsPolicyTextBlock-c0_cont_1" escape="true" name="esp:RecentlyAdoptedAccountingStandardsPolicyTextBlock" id="ixv-4279"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Recently Adopted Accounting Standards</p></ix:nonNumeric>

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

<ix:continuation continuedAt="esp_RecentlyAdoptedAccountingStandardsPolicyTextBlock-c0_cont_2" id="esp_RecentlyAdoptedAccountingStandardsPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In June 2016, the FASB issued ASU 2016-13, &#8220;Financial
Instruments-Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments&#8221;, <span>which
requires a financial asset measured at amortized cost basis to be presented at the net amount expected to be collected, with further clarifications
made more recently. For trade receivables, loans and other financial instruments, the Company will be required to use a forward-looking
expected loss model rather than the incurred loss model for recognizing credit losses which reflects losses that are probable. </span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p></ix:continuation></ix:continuation><div>

</div><div>

</div><!-- Field: Page; Sequence: 20 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->19<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Espey Mfg. &amp; Electronics Corp.</p><p style="border-bottom: Black 0.5pt solid; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration: none">Notes to Financial Statements </span></p><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 10pt; margin-right: 0pt; margin-left: 0pt; text-align: justify">Note 2. Summary of Significant Accounting Policies, <i>Continued</i></p></div><div>
    </div><!-- Field: /Page --><div>

</div><ix:continuation id="_SignificantAccountingPoliciesTextBlock-c0_cont_3"><ix:continuation id="esp_RecentlyAdoptedAccountingStandardsPolicyTextBlock-c0_cont_2"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Credit losses relating to available-for-sale
debt securities are required to be recorded through an allowance for credit losses rather than as a reduction in the amortized cost basis
of the securities. ASU 2016-13 is effective for public entities for fiscal years beginning after December 15, 2022, including interim
periods within those fiscal years. Upon adoption, the amendments in ASU 2016-13 should be applied on a prospective basis to all periods
presented relating to available-for-sale debt securities. For all other financial instruments the Company upon adoption will apply the
amendments on a modified-retrospective approach. The Company adopted the new guidance under ASU 2016-13 in the first quarter of fiscal
year 2024, and determined that the impact of the adoption on its financial statements is immaterial.</p></ix:continuation>

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

<ix:nonNumeric contextRef="c0" continuedAt="_NewAccountingPronouncementsPolicyPolicyTextBlock-c0_cont_1" escape="true" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="ixv-4304"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Recent Accounting Pronouncements Not Yet Adopted</p></ix:nonNumeric>

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

<ix:continuation id="_NewAccountingPronouncementsPolicyPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span>In December
2023, the FASB issued ASU No. 2023-09, &#8220;Income Taxes (&#8220;Topic 740&#8221;): Improvements to Income Tax Disclosures&#8221;, which includes
amendments that further enhance income tax disclosures through the standardization and disaggregation of rate reconciliation categories
and income taxes paid. ASU 2023-09 is effective for fiscal years beginning after December 15, 2024 and is to be applied prospectively,
with early adoption and retrospective application permitted. We are currently evaluating the impact of this standard to our
financial statements.</span></p></ix:continuation>

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

<ix:nonNumeric contextRef="c0" continuedAt="_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock-c0_cont_1" escape="true" name="us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" id="ixv-4311"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Impairment of Long-Lived Assets</p></ix:nonNumeric>

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

<ix:continuation id="_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Long-lived assets, including property, plant,
and equipment, are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of an asset may
not be recoverable.&#160;Recoverability of assets to be held and used is measured by a comparison of the carrying amount of an asset to
estimated undiscounted future cash flows expected to be generated by the asset.&#160;If the carrying amount of an asset exceeds its estimated
future cash flows, an impairment charge is recognized by the amount by which the carrying amount of the asset exceeds the fair value of
the asset.&#160;There were <span style="-sec-ix-hidden: hidden-fact-10"><span style="-sec-ix-hidden: hidden-fact-11">no</span></span> impairments of long-lived assets in fiscal years 2024 and 2023.&#160;Assets to be disposed of are separately
presented in the balance sheet and reported at the lower of the carrying amount or fair value less costs to sell, and no longer depreciated.&#160;The
assets and liabilities of a disposed group classified as held for sale are presented separately in the appropriate asset and liability
sections of the balance sheet, if applicable.</p></ix:continuation>

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

<ix:nonNumeric contextRef="c0" continuedAt="_ConcentrationRiskCreditRisk-c0_cont_1" escape="true" name="us-gaap:ConcentrationRiskCreditRisk" id="ixv-4319"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Concentrations of Risk</p></ix:nonNumeric>

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

<ix:continuation continuedAt="_ConcentrationRiskCreditRisk-c0_cont_2" id="_ConcentrationRiskCreditRisk-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The market for our defense electronics products
is largely dependent on the availability of new contracts from the United States and foreign governments to prime contractors to which
we provide components.&#160;Any decline in expenditures by the United States or foreign governments may have an adverse effect on our
financial performance.&#160;</p></ix:continuation>

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

<ix:continuation continuedAt="_ConcentrationRiskCreditRisk-c0_cont_3" id="_ConcentrationRiskCreditRisk-c0_cont_2"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Generally, U.S. Government contracts are subject
to procurement laws and regulations.&#160;Some of the Company&#8217;s contracts are governed by the Federal Acquisition Regulation (FAR),
which lays out uniform policies and procedures for acquiring goods and services by the U.S. Government, and agency-specific acquisition
regulations that implement or supplement the FAR.&#160;For example, the Department of Defense implements the FAR through the Defense Federal
Acquisition Regulation (DFAR).</p></ix:continuation>

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

<ix:continuation id="_ConcentrationRiskCreditRisk-c0_cont_3"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The FAR also contains guidelines and regulations
for managing a contract after award, including conditions under which contracts may be terminated, in whole or in part, at the government&#8217;s
convenience or for default. If a contract is terminated for the convenience of the government, a contractor is entitled to receive payments
for its allowable costs and, in general, the proportionate share of fees or earnings for the work done.&#160;If a contract is terminated
for default, the government generally pays for only the work it has accepted.&#160;These regulations also subject the Company to financial
audits and other reviews by the government of its costs, performance, accounting and general business practices relating to its contracts,
which may result in adjustment of the Company&#8217;s contract-related costs and fees.</p></ix:continuation></ix:continuation><div>

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

</div><!-- Field: Page; Sequence: 21 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->20<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Espey Mfg. &amp; Electronics Corp.</p><p style="border-bottom: Black 0.5pt solid; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration: none">Notes to Financial Statements </span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:RevenueFromContractWithCustomerTextBlock" id="ixv-4346"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Note 3. Revenue</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company follows ASC 606 &#8220;Revenue from
Contracts with Customers&#8221; to determine the recognition of revenue. This standard requires entities to assess the products or services
promised in contracts with customers at contract inception to determine the appropriate unit at which to record revenues.&#160;Revenue
is recognized when control of the promised products or services is transferred to customers at an amount that reflects the consideration
to which the entity expects to be entitled to in exchange for those products or services.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Significant judgment is required in determining
the satisfaction of performance obligations.&#160;Revenues from our performance obligations are satisfied over time using the output method
which considers the appraisal of results achieved and milestones reached or units delivered based on contractual shipment terms, typically
shipping point.&#160;Revenue is recognized when, or as, the customer takes control of the product or services.&#160;The output method
best depicts the transfer of control to the customer as the output method represents work completed. Control is typically transferred
to the customer at the shipping point as the Company has a present right to payment, the customer has legal title to the asset, the customer
has the significant risks and rewards of ownership of the asset, and in most instances the customer has accepted the asset.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Total revenue recognized for the year ended June
30, 2024 based on units delivered totaled $<ix:nonFraction contextRef="c43" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="0" unitRef="usd" id="ixv-7050">33,403,833</ix:nonFraction> compared to $<ix:nonFraction contextRef="c44" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="0" unitRef="usd" id="ixv-7051">27,770,365</ix:nonFraction> for the same period in fiscal year 2023. Total revenue
recognized for the year ended June 30, 2024 based on milestones achieved totaled $<ix:nonFraction contextRef="c45" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="0" unitRef="usd" id="ixv-7052">5,332,486</ix:nonFraction> compared to $<ix:nonFraction contextRef="c46" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="0" unitRef="usd" id="ixv-7053">7,821,958</ix:nonFraction> for the same period
in fiscal year 2023.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company offers a standard one-year product
warranty. Product warranties offered by the Company are classified as assurance-type warranties, which means, the warranty only
guarantees that the good or service functions as promised. Based on this, the provided warranty is not considered to be a distinct
performance obligation. The impact of variable consideration has been considered but none identified which would result in the
adjustment of the transaction price as of June 30, 2024.&#160;Our payment terms are generally 30-60 days.&#160;</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Contract liabilities were $<ix:nonFraction contextRef="c47" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiability" scale="0" unitRef="usd" id="ixv-7054">9,043,422</ix:nonFraction> and $<ix:nonFraction contextRef="c48" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiability" scale="0" unitRef="usd" id="ixv-7055">8,081,838</ix:nonFraction>
as of June 30, 2024 and 2023, respectively. The increase in contract liabilities is primarily due to the advance collection of cash on
specific contracts, offset in part, by revenue recognized. Revenue recognized, that was in contract liabilities in the beginning of the
fiscal year, approximated $<ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" unitRef="usd" id="ixv-7056">1,191,954</ix:nonFraction> for the year ended June 30, 2024. The Company used the practical expedient to expense incremental
costs incurred to obtain a contract when the contract term is less than one year.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company&#8217;s backlog at June 30, 2024 totaling
approximately $<ix:nonFraction contextRef="c49" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="6" unitRef="usd" id="ixv-7057">97.2</ix:nonFraction> million is expected, based on expected due dates, to be recognized in the following fiscal years: <ix:nonFraction contextRef="c49" decimals="2" format="ixt:num-dot-decimal" name="esp:BacklogPercentageOfRecognitionsYearOne" scale="-2" unitRef="pure" id="ixv-7058">45</ix:nonFraction>% in 2025, <ix:nonFraction contextRef="c49" decimals="2" format="ixt:num-dot-decimal" name="esp:BacklogPercentageOfRecognitionsYearTwo" scale="-2" unitRef="pure" id="ixv-7059">33</ix:nonFraction>%
in 2026, <ix:nonFraction contextRef="c49" decimals="2" format="ixt:num-dot-decimal" name="esp:BacklogPercentageOfRecognitionsYearThree" scale="-2" unitRef="pure" id="ixv-7060">10</ix:nonFraction>% in 2027, and <ix:nonFraction contextRef="c49" decimals="2" format="ixt:num-dot-decimal" name="esp:BacklogPercentageOfRecognitions" scale="-2" unitRef="pure" id="ixv-7061">12</ix:nonFraction>% thereafter. </p></ix:nonNumeric><div>

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

</div><ix:nonNumeric contextRef="c0" continuedAt="_InvestmentTextBlock-c0_cont_1" escape="true" name="us-gaap:InvestmentTextBlock" id="ixv-4363"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Note 4. Investment Securities</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Investment securities at June 30, 2024 consist
of certificates of deposit, municipal bonds and U.S. treasury bills and at June 30, 2023, consisted of certificates of deposit, municipal
bonds and U.S. treasury bills. The Company classifies investment securities as available-for-sale which have been determined to be level
1 assets.&#160;<ix:nonNumeric contextRef="c0" continuedAt="_DebtSecuritiesAvailableForSaleTableTextBlock-c0_cont_1" escape="true" name="us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock" id="ixv-7062">The cost, gross unrealized gains, gross unrealized losses and fair value debt securities by major security type at June
30, 2024&#160;and June 30, 2023 are as follows:</ix:nonNumeric></p>

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

<ix:continuation continuedAt="_DebtSecuritiesAvailableForSaleTableTextBlock-c0_cont_2" id="_DebtSecuritiesAvailableForSaleTableTextBlock-c0_cont_1"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Gross</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Gross</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Amortized</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Unrealized</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Unrealized</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Fair</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Cost</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Gains</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Losses</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Value</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-decoration: underline">June 30, 2024</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="width: 48%">Certificates of deposit</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c50" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:TradingSecuritiesDebtAmortizedCost" scale="0" unitRef="usd" id="ixv-7063">17,651,000</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><div style="-sec-ix-hidden: hidden-fact-12">&#8212;</div></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><div style="-sec-ix-hidden: hidden-fact-13">&#8212;</div></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c50" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" scale="0" unitRef="usd" id="ixv-7064">17,651,000</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Municipal bonds</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c51" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:TradingSecuritiesDebtAmortizedCost" scale="0" unitRef="usd" id="ixv-7065">709,059</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c51" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="0" unitRef="usd" id="ixv-7066">5,824</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c51" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="0" unitRef="usd" id="ixv-7067">3,313</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c51" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" scale="0" unitRef="usd" id="ixv-7068">711,570</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-bottom: 1pt; text-align: left">U.S. Treasury bills</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c52" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:TradingSecuritiesDebtAmortizedCost" scale="0" unitRef="usd" id="ixv-7069">510,288</ix:nonFraction></td><td style="padding-bottom: 1pt; white-space: nowrap; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c52" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="0" unitRef="usd" id="ixv-7070">5,773</ix:nonFraction></td><td style="padding-bottom: 1pt; white-space: nowrap; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-14">&#8212;</div></td><td style="padding-bottom: 1pt; white-space: nowrap; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c52" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" scale="0" unitRef="usd" id="ixv-7071">516,061</ix:nonFraction></td><td style="padding-bottom: 1pt; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total investment securities</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:TradingSecuritiesDebtAmortizedCost" scale="0" unitRef="usd" id="ixv-7072">18,870,347</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="0" unitRef="usd" id="ixv-7073">11,597</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(<ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="0" unitRef="usd" id="ixv-7074">3,313</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" scale="0" unitRef="usd" id="ixv-7075">18,878,631</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p></ix:continuation></ix:nonNumeric><div>

</div><div>

</div><!-- Field: Page; Sequence: 22 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->21<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Espey Mfg. &amp; Electronics Corp.</p><p style="border-bottom: Black 0.5pt solid; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration: none">Notes to Financial Statements </span></p><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 10pt; margin-right: 0pt; margin-left: 0pt; text-align: justify">Note 4. Investment Securities, <i>Continued</i></p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><ix:continuation id="_InvestmentTextBlock-c0_cont_1"><ix:continuation id="_DebtSecuritiesAvailableForSaleTableTextBlock-c0_cont_2"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Gross</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Gross</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Amortized</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Unrealized</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Unrealized</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Fair</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Cost</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Gains</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Losses</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Value</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-decoration: underline">June 30, 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="width: 48%">Certificates of deposit</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c53" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:TradingSecuritiesDebtAmortizedCost" scale="0" unitRef="usd" id="ixv-7076">11,280,000</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><div style="-sec-ix-hidden: hidden-fact-15">&#8212;</div></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><div style="-sec-ix-hidden: hidden-fact-16">&#8212;</div></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c53" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" scale="0" unitRef="usd" id="ixv-7077">11,280,000</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Municipal bonds</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c54" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:TradingSecuritiesDebtAmortizedCost" scale="0" unitRef="usd" id="ixv-7078">260,475</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c54" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="0" unitRef="usd" id="ixv-7079">165</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c54" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="0" unitRef="usd" id="ixv-7080">7,843</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c54" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" scale="0" unitRef="usd" id="ixv-7081">252,797</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left; padding-bottom: 1pt">U.S. Treasury Bills</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c55" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:TradingSecuritiesDebtAmortizedCost" scale="0" unitRef="usd" id="ixv-7082">430,952</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c55" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="0" unitRef="usd" id="ixv-7083">1,225</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c55" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="0" unitRef="usd" id="ixv-7084">301</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c55" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" scale="0" unitRef="usd" id="ixv-7085">431,876</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total investment securities</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:TradingSecuritiesDebtAmortizedCost" scale="0" unitRef="usd" id="ixv-7086">11,971,427</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="0" unitRef="usd" id="ixv-7087">1,390</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(<ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="0" unitRef="usd" id="ixv-7088">8,144</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" scale="0" unitRef="usd" id="ixv-7089">11,964,673</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table></ix:continuation>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The portfolio is diversified and highly liquid
and primarily consists of investment grade fixed income instruments. At June 30, 2024, the Company did not have any investments in individual
securities that have been in a continuous loss position considered to be other than temporary.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><ix:nonNumeric contextRef="c0" continuedAt="_InvestmentsClassifiedByContractualMaturityDateTableTextBlock-c0_cont_1" escape="true" name="us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock" id="ixv-7090">As of June 30, 2024 and June 30, 2023, the remaining
contractual maturities of available-for-sale debt securities were as follows:</ix:nonNumeric></p>

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

<ix:continuation id="_InvestmentsClassifiedByContractualMaturityDateTableTextBlock-c0_cont_1"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Years to Maturity</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Less than</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">One to</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">One Year</td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">Five Years</td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Total</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-decoration: underline">June 30, 2024</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="width: 61%; padding-bottom: 1pt">Available-for-sale</td><td style="width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="width: 10%; border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" scale="0" unitRef="usd" id="ixv-7091">17,889,582</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="width: 10%; border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue" scale="0" unitRef="usd" id="ixv-7092">989,049</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="width: 10%; border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" scale="0" unitRef="usd" id="ixv-7093">18,878,631</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-decoration: underline">June 30, 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Available-for-sale</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" scale="0" unitRef="usd" id="ixv-7094">11,711,876</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue" scale="0" unitRef="usd" id="ixv-7095">252,797</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" scale="0" unitRef="usd" id="ixv-7096">11,964,673</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table></ix:continuation></ix:continuation><div>

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

</div><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:LongTermContractsOrProgramsDisclosureTextBlock" id="ixv-4770"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Note 5. Contracts in Process</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -0.75in"><ix:nonNumeric contextRef="c0" continuedAt="esp_ScheduleOfContractsInProcessTableTextBlock-c0_cont_1" escape="true" name="esp:ScheduleOfContractsInProcessTableTextBlock" id="ixv-7097">Contracts in
process at June 30, 2024 and 2023 are as follows:</ix:nonNumeric></p>

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

<ix:continuation id="esp_ScheduleOfContractsInProcessTableTextBlock-c0_cont_1"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left">Unrecognized gross contract value</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="esp:UnrecognizedGrossContractValue" scale="0" unitRef="usd" id="ixv-7098">97,216,542</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="esp:UnrecognizedGrossContractValue" scale="0" unitRef="usd" id="ixv-7099">83,577,153</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left">Costs related to contracts in process</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:InventoryForLongTermContractsOrPrograms" scale="0" unitRef="usd" id="ixv-7100">15,904,588</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:InventoryForLongTermContractsOrPrograms" scale="0" unitRef="usd" id="ixv-7101">17,318,579</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table></ix:continuation>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Included in costs relating to contracts in process
at June 30, 2024 and 2023 are costs relative to contracts that may not be completed within the ensuing year as contracts vary in size,
scope and duration. Under the units-of-delivery method, the related sale and cost of sales will not be reflected in the statements of
comprehensive income until the units under contract are shipped.</p></ix:nonNumeric><div>

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

</div><ix:nonNumeric contextRef="c0" continuedAt="_PropertyPlantAndEquipmentDisclosureTextBlock-c0_cont_1" escape="true" name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock" id="ixv-4810"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Note 6. Property, Plant and Equipment</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><ix:nonNumeric contextRef="c0" continuedAt="_PropertyPlantAndEquipmentTextBlock-c0_cont_1" escape="true" name="us-gaap:PropertyPlantAndEquipmentTextBlock" id="ixv-7102">Property, plant and equipment at June 30, 2024
and 2023 is as follows:</ix:nonNumeric></p>

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

<ix:continuation id="_PropertyPlantAndEquipmentTextBlock-c0_cont_1"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%">Land</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c59" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" unitRef="usd" id="ixv-7103">45,000</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c60" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" unitRef="usd" id="ixv-7104">45,000</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left">Building and improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c61" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" unitRef="usd" id="ixv-7105">5,472,156</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c62" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" unitRef="usd" id="ixv-7106">4,811,179</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Machinery and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c63" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" unitRef="usd" id="ixv-7107">11,509,018</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c64" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" unitRef="usd" id="ixv-7108">11,402,679</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left; padding-bottom: 1pt">Furniture and fixtures</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c65" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" unitRef="usd" id="ixv-7109">165,651</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c66" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" unitRef="usd" id="ixv-7110">164,200</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" unitRef="usd" id="ixv-7111">17,191,825</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="0" unitRef="usd" id="ixv-7112">16,423,058</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left; padding-bottom: 1pt">Accumulated depreciation</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" scale="0" unitRef="usd" id="ixv-7113">13,885,550</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" scale="0" unitRef="usd" id="ixv-7114">13,597,969</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Property, plant and equipment, net</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="0" unitRef="usd" id="ixv-7115">3,306,275</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="0" unitRef="usd" id="ixv-7116">2,825,089</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -0.75in"><span style="text-underline-style: double">&#160;</span></p></ix:continuation></ix:nonNumeric><div>

</div><div>

</div><!-- Field: Page; Sequence: 23 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->22<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Espey Mfg. &amp; Electronics Corp.</p><p style="border-bottom: Black 0.5pt solid; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration: none">Notes to Financial Statements </span></p><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 10pt; margin-right: 0pt; margin-left: 0pt; text-align: justify">Note 6. Property, Plant and Equipment, <i>Continued</i></p></div><div>
    </div><!-- Field: /Page --><div>

</div><ix:continuation id="_PropertyPlantAndEquipmentDisclosureTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Depreciation expense was $<ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:Depreciation" scale="0" unitRef="usd" id="ixv-7117">453,517</ix:nonFraction>
and $<ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:Depreciation" scale="0" unitRef="usd" id="ixv-7118">484,920</ix:nonFraction> for the years ended June 30, 2024 and 2023, respectively.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company was awarded $<ix:nonFraction contextRef="c56" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:EquipmentExpense" scale="6" unitRef="usd" id="ixv-7119">7.4</ix:nonFraction> million in
funding during the second quarter of fiscal year 2023 in support of facility and capital equipment upgrades for testing and
qualification for the United States Navy. The funding is part of the Navy&#8217;s investment to improve and sustain the Surface
Combatant Industrial Base. The work is being conducted on the Company&#8217;s property in Saratoga Springs, NY, with completion
slated for the end of calendar year 2024. The Company expects to be paid within 30 days after the submission of three milestone
invoices, but will not be paid for expenses incurred in excess of the specified milestone payment limits. The Company will record
the receipt of milestone payments received as a reduction from the cost of the assets. The Company will have an initial cash outlay
to satisfy income tax obligations arising from the value of the milestone payments received. The cash outlay arising from federal
income tax obligations is expected to be recaptured in future periods. Until recaptured, estimated tax obligations associated with
the receipt of milestone payments are recorded on the balance sheet and included in deferred tax assets. As of June 30, 2024, net
deferred tax asset includes a deferred tax asset of $<ix:nonFraction contextRef="c57" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsOther" scale="0" unitRef="usd" id="ixv-7120">888,032</ix:nonFraction> associated with milestone reimbursements received totaling $<ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="esp:TotalMilestoneReimbursementsReceivedAmount" scale="0" unitRef="usd" id="ixv-7121">4,228,722</ix:nonFraction>.
Included in property, plant, and equipment at June 30, 2024 was $<ix:nonFraction contextRef="c57" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentOtherNet" scale="0" unitRef="usd" id="ixv-7122">965,392</ix:nonFraction> not yet reimbursed, for facility and capital upgrades
under the funding award, compared to $<ix:nonFraction contextRef="c58" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentOtherNet" scale="0" unitRef="usd" id="ixv-7123">308,001</ix:nonFraction> in spending not yet reimbursed included in property, plant, and equipment at June 30,
2023. Included in accounts payable at June 30, 2024 was approximately $<ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AccountsPayableCurrentAndNoncurrent" scale="0" unitRef="usd" id="ixv-7124">272,560</ix:nonFraction> for facility and capital upgrades eligible to be
reimbursed under the funding award compared to $<ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AccountsPayableCurrentAndNoncurrent" scale="0" unitRef="usd" id="ixv-7125">9,095</ix:nonFraction> included in accounts payable at June 30, 2023.</p></ix:continuation><div>

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

</div><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock" id="ixv-4918"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Note 7. Pension Expense</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Under terms of a negotiated union contract
which expires on June 30, 2025, the Company is obligated to make contributions to a union-sponsored International Brotherhood of
Electrical Workers Local 1799 defined benefit pension plan (Plan identifying number is 14-6065199) covering eligible employees. Such
contributions and expenses are based upon hours worked at a specified rate and amounted to $<ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:PensionAndOtherPostretirementBenefitExpense" scale="0" unitRef="usd" id="ixv-7126">102,745</ix:nonFraction> in fiscal year 2024 and $<ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:PensionAndOtherPostretirementBenefitExpense" scale="0" unitRef="usd" id="ixv-7127">102,612</ix:nonFraction>
in fiscal year 2023. These contributions represent more than five percent of the total contributions made into the Plan. For the
years beginning January 1, 2024 and 2023, the Plan was in the &#8220;green zone&#8221; which means it is neither endangered nor
critical status. In the last quarter of the current fiscal year, the Company notified the third-party administrator of the IBEW
Local 1799 Pension Fund of its intention to withdraw permanently from the plan effective June 16, 2024. As required by the Employee
Retirement Income Security Act &#8220;ERISA&#8221;, the Company is subject to a termination withdrawal liability. At June 30, 2024,
the Company recorded a termination withdrawal obligation totaling $<ix:nonFraction contextRef="c67" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:MultiemployerPlansWithdrawalObligation" scale="0" unitRef="usd" id="ixv-7128">772,157</ix:nonFraction>, based on calculated amounts provided by a third party
actuary retained by the Pension Fund. The outstanding amount is shown within the accounts payable balance on the Company&#8217;s
balance sheet at June 30, 2024. An initial withdrawal liability contribution payment to the Plan totaling $<ix:nonFraction contextRef="c68" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:PensionContributions" scale="0" unitRef="usd" id="ixv-7129">210,305</ix:nonFraction> was made during
July 2024. The remaining liability of $<ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:OtherLiabilities" scale="0" unitRef="usd" id="ixv-7130">561,852</ix:nonFraction> is expected to be paid in the second half of fiscal 2025. As the Company was the only
remaining contributing employer to the multiemployer pension plan, its withdrawal constitutes a mass withdrawal termination. Final
withdrawal calculations are contingent upon the availability of January 1, 2025 assets and the finalization of December 31, 2024
liabilities as the withdrawal liability will need to be re-determined based on a December 31, 2024 measurement date. The Company
does not expect future adjustments to the established liability to have a material impact on the Company&#8217;s financial
statements. The cost of the withdrawal liability obligation is recorded in indirect overhead product costs, capitalized in inventory
and expensed through cost of sales based on shipments.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company is obligated to make contributions
to the National Electrical Benefit Fund (NEBF) (Plan identifying number is 53-0181657). The Plan is a defined pension benefit plan covering
eligible union employees.&#160;Such contributions and expenses amounted to $<ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:MultiemployerPlanPensionSignificantPlanContribution" scale="0" unitRef="usd" id="ixv-7131">79,429</ix:nonFraction> in fiscal year 2024 and $<ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:MultiemployerPlanPensionSignificantPlanContribution" scale="0" unitRef="usd" id="ixv-7132">72,350</ix:nonFraction> in fiscal year 2023.
The contribution did not and will not in the future have a material impact on the Company&#8217;s financial statements.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company sponsors a 401(k) plan for non-union
workers with employee and employer matching contributions. The employer match is <ix:nonFraction contextRef="c0" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent" scale="-2" unitRef="pure" id="ixv-7133"><ix:nonFraction contextRef="c5" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent" scale="-2" unitRef="pure" id="ixv-7134">10</ix:nonFraction></ix:nonFraction>% of the employee contribution and was $<ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="esp:DefinedContributionPlanEmployersMatchingContribution" scale="0" unitRef="usd" id="ixv-7135">60,301</ix:nonFraction> and
$<ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="esp:DefinedContributionPlanEmployersMatchingContribution" scale="0" unitRef="usd" id="ixv-7136">53,768</ix:nonFraction>, for fiscal years 2024 and 2023, respectively.</p></ix:nonNumeric><div>

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

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

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

</div><!-- Field: Page; Sequence: 24 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->23<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Espey Mfg. &amp; Electronics Corp.</p>
    <p style="border-bottom: Black 0.5pt solid; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration: none">Notes to Financial Statements </span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-right: 0pt; margin-left: 0pt; text-align: justify"></p></div><div>
    </div><!-- Field: /Page --><div>

</div><ix:nonNumeric contextRef="c0" continuedAt="_IncomeTaxDisclosureTextBlock-c0_cont_1" escape="true" name="us-gaap:IncomeTaxDisclosureTextBlock" id="ixv-4944"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Note 8. Provision for Income Taxes</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><ix:nonNumeric contextRef="c0" continuedAt="_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock-c0_cont_1" escape="true" name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" id="ixv-7137">A summary of the components of the provision for
income taxes for the years ended June 30, 2024 and 2023 is as follows:</ix:nonNumeric></p>

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

<ix:continuation id="_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock-c0_cont_1"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left">Current tax expense - federal</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CurrentFederalTaxExpenseBenefit" scale="0" unitRef="usd" id="ixv-7138">2,515,865</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CurrentFederalTaxExpenseBenefit" scale="0" unitRef="usd" id="ixv-7139">1,059,743</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left">Current tax (benefit) expense - state</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" scale="0" sign="-" unitRef="usd" id="ixv-7140">3,010</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" scale="0" unitRef="usd" id="ixv-7141">9,595</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Deferred tax benefit</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="0" sign="-" unitRef="usd" id="ixv-7142">1,032,981</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="0" sign="-" unitRef="usd" id="ixv-7143">40,002</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 30pt; text-align: left; padding-bottom: 2.5pt">Provision for income taxes</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="0" unitRef="usd" id="ixv-7144">1,479,874</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="0" unitRef="usd" id="ixv-7145">1,029,336</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table></ix:continuation>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Deferred income taxes reflect the impact of "temporary
differences" between the amount of assets and liabilities for financial reporting purposes and such amounts measured by tax laws
and regulations. These "temporary differences" are determined in accordance with ASC 740-10.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><ix:nonNumeric contextRef="c0" continuedAt="_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock-c0_cont_1" escape="true" name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" id="ixv-7146">The combined U.S. federal and state effective
income tax rates of <ix:nonFraction contextRef="c69" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" unitRef="pure" id="ixv-7147">20.3</ix:nonFraction>% and <ix:nonFraction contextRef="c70" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" unitRef="pure" id="ixv-7148">21.9</ix:nonFraction>%, for 2024 and 2023 respectively, differed from the statutory U.S. federal income tax rate for the
following reasons:</ix:nonNumeric></p>

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

<ix:continuation id="_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock-c0_cont_1"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left">U.S. federal statutory income tax rate</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c0" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" unitRef="pure" id="ixv-7149">21.0</ix:nonFraction>%</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c5" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" unitRef="pure" id="ixv-7150">21.0</ix:nonFraction>%</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left">Increase (reduction) in rate resulting from:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">State franchise tax, net of federal income tax benefit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-17">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c5" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" scale="-2" unitRef="pure" id="ixv-7151">0.2</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-align: left">ESOP cost versus Fair Market Value</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="3" format="ixt:num-dot-decimal" name="esp:EffectiveIncomeTaxRateReconciliationESOPFairValue" scale="-2" unitRef="pure" id="ixv-7152">0.1</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c5" decimals="3" format="ixt:num-dot-decimal" name="esp:EffectiveIncomeTaxRateReconciliationESOPFairValue" scale="-2" sign="-" unitRef="pure" id="ixv-7153">0.2</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Dividend on allocated ESOP shares</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="3" format="ixt:num-dot-decimal" name="esp:EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares" scale="-2" sign="-" unitRef="pure" id="ixv-7154">0.3</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-18">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-align: left">Stock-based compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" scale="-2" unitRef="pure" id="ixv-7155">0.2</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c5" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" scale="-2" unitRef="pure" id="ixv-7156">1.0</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; padding-bottom: 1pt">Other</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c0" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" scale="-2" sign="-" unitRef="pure" id="ixv-7157">0.7</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c5" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" scale="-2" sign="-" unitRef="pure" id="ixv-7158">0.1</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left; padding-bottom: 2.5pt">Effective tax rate</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c0" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" unitRef="pure" id="ixv-7159">20.3</ix:nonFraction>%</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c5" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" unitRef="pure" id="ixv-7160">21.9</ix:nonFraction>%</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table></ix:continuation>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">For the years ended June 30, 2024 and 2023 deferred
income tax benefit of $<ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="0" sign="-" unitRef="usd" id="ixv-7161">1,032,981</ix:nonFraction> and $<ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="0" sign="-" unitRef="usd" id="ixv-7162">40,002</ix:nonFraction>, respectively, results from the changes in temporary differences for each year. The tax effects
of temporary differences that give rise to <ix:nonNumeric contextRef="c0" continuedAt="_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock-c0_cont_1" escape="true" name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" id="ixv-7163">deferred tax assets and deferred tax liabilities as of June 30, 2024 and 2023 are presented
as follows:</ix:nonNumeric></p>

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

<ix:continuation id="_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock-c0_cont_1"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deferred tax assets:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; width: 74%; text-align: left">Accrued expenses</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" scale="0" unitRef="usd" id="ixv-7164">138,158</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" scale="0" unitRef="usd" id="ixv-7165">273,059</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt">ESOP</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther" scale="0" unitRef="usd" id="ixv-7166">32,698</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther" scale="0" unitRef="usd" id="ixv-7167">24,407</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-indent: -10pt; padding-left: 30pt; text-align: left">Property, plant and equipment - principally due to differences in depreciation methods</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment" scale="0" unitRef="usd" id="ixv-7168">601,358</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-19">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Pension Withdrawal</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="esp:DeferredTaxAssetsPensionWithdrawal" scale="0" unitRef="usd" id="ixv-7169">162,153</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-20">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt">Stock-based compensation</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" scale="0" unitRef="usd" id="ixv-7170">39,724</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" scale="0" unitRef="usd" id="ixv-7171">36,552</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 60pt; text-align: left; padding-bottom: 1pt">Total deferred tax assets </td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsGross" scale="0" unitRef="usd" id="ixv-7172">974,091</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsGross" scale="0" unitRef="usd" id="ixv-7173">334,018</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deferred tax liability:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-indent: -10pt; padding-left: 30pt; text-align: left">Property, plant and equipment - principally due to differences in depreciation methods</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-21">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" scale="0" unitRef="usd" id="ixv-7174">337,501</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Inventory - effect of uniform capitalization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts" scale="0" unitRef="usd" id="ixv-7175">33,817</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts" scale="0" unitRef="usd" id="ixv-7176">99,215</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt">Prepaid expenses</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxLiabilitiesPrepaidExpenses" scale="0" unitRef="usd" id="ixv-7177">45,120</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxLiabilitiesPrepaidExpenses" scale="0" unitRef="usd" id="ixv-7178">35,129</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 60pt; text-align: left; padding-bottom: 1pt">Total deferred tax liability</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxLiabilities" scale="0" unitRef="usd" id="ixv-7179">78,937</ix:nonFraction></td><td style="padding-bottom: 1pt; white-space: nowrap; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxLiabilities" scale="0" unitRef="usd" id="ixv-7180">471,845</ix:nonFraction></td><td style="padding-bottom: 1pt; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Net deferred tax asset (liability)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="esp:DeferredTaxAssetLiability" scale="0" unitRef="usd" id="ixv-7181">895,154</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(<ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="esp:DeferredTaxAssetLiability" scale="0" sign="-" unitRef="usd" id="ixv-7182">137,827</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">)</td></tr>
  </table><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1.5in">&#160;</p></ix:continuation></ix:nonNumeric><div>

</div><div>

</div><!-- Field: Page; Sequence: 25 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->24<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Espey Mfg. &amp; Electronics Corp.</p><p style="border-bottom: Black 0.5pt solid; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration: none">Notes to Financial Statements </span></p><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 10pt; margin-right: 0pt; margin-left: 0pt; text-align: justify">Note
                                                                                                                                                                                                                                                                                                                                                                    8. Provision for Income Taxes, <i>Continued</i></p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><ix:continuation id="_IncomeTaxDisclosureTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In assessing the realization of deferred tax assets,
management considers whether it is more likely than not that some portion or all of the deferred tax assets will be realized. The ultimate
realization of deferred tax assets is dependent upon the generation of future taxable income during the periods in which those temporary
differences become deductible. Management considers the scheduled reversal of deferred tax liabilities, projected future taxable income,
and tax planning strategies in making this assessment. Based upon the level of historical taxable income and projection for future taxable
income over the period in which the deferred tax assets are deductible, management believes it is more likely than not that the Company
will realize the benefits of these temporary differences without consideration of a valuation allowance.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">As the result of the implementation of the FASB
interpretation No. 48 (&#8220;FIN 48&#8221;), Accounting for Uncertainty in Income Taxes &#8211; An Interpretation of FASB Statement No.
109, the Company recognized no material adjustments to unrecognized tax benefits. As of June 30, 2024 and 2023, the Company has no unrecognized
tax benefits.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company recognizes interest and penalties
in general and administrative expense. As of June 30, 2024 and 2023, the Company has not recorded any provision for accrued interest and
penalties.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company is subject to taxation in the United
States and various state jurisdictions. The federal tax returns are subject to audit for three years from date of filing unless the return
was audited within that period. In general the majority of state statutes follow similar guidelines. As such, the Company&#8217;s tax
returns for tax years ending June 30, 2024, 2023, and 2022 remain open to examination by the respective taxing authorities.</p></ix:continuation><div>

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

</div><ix:nonNumeric contextRef="c0" escape="true" name="esp:SignificantCustomersTextBlock" id="ixv-5291"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -0.75in">Note 9. Significant
Customers</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">A significant portion of the Company's business
is the production of military and industrial electronic equipment for use by the U.S. and foreign governments and certain industrial customers.
Sales to five domestic customers accounted for <ix:nonFraction contextRef="c71" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-7183">81</ix:nonFraction>% of total sales in 2024. Sales to five domestic customers accounted for <ix:nonFraction contextRef="c72" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-7184">81</ix:nonFraction>% of total
sales in 2023. Orders from significant customers may include more than one program and procurement may originate from various divisions
of the significant customer. The related accounts receivable balance, as a percentage of the Company's total trade accounts receivable
balance, was <ix:nonFraction contextRef="c73" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-7185">79</ix:nonFraction>% represented by five customers at June 30, 2024 and <ix:nonFraction contextRef="c74" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-7186">81</ix:nonFraction>% represented by five customers at June 30, 2023.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Export shipments in fiscal years 2024 and 2023
were $<ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:SalesTypeLeaseRevenue" scale="0" unitRef="usd" id="ixv-7187">2,350,087</ix:nonFraction> and $<ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:SalesTypeLeaseRevenue" scale="0" unitRef="usd" id="ixv-7188">549,510</ix:nonFraction>, respectively.</p></ix:nonNumeric><div>

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

</div><ix:nonNumeric contextRef="c0" continuedAt="esp_EmployeeStockOwnershipPlanTextBlock-c0_cont_1" escape="true" name="esp:EmployeeStockOwnershipPlanTextBlock" id="ixv-5300"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Note 10. Employee Stock Ownership Plan</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company sponsors a leveraged employee stock
ownership plan (the "ESOP") that covers all nonunion employees who work <ix:nonFraction contextRef="c75" decimals="0" format="ixt:num-dot-decimal" name="esp:EmployeeStockOwnershipPlanHoursWorked" scale="0" unitRef="pure" id="ixv-7189">1,000</ix:nonFraction> or more hours per year and are employed on June
30. The Company makes annual contributions to the ESOP equal to the ESOP's debt service less dividends on unallocated shares received
by the ESOP. All dividends on unallocated shares received by the ESOP are used to pay debt service. Dividends on allocated ESOP shares
are recorded as a reduction of retained earnings. As the debt is repaid, shares are released and allocated to active employees, based
on the proportion of debt service paid in the year. The Company accounts for its ESOP in accordance with FASB ASC 718-40. Accordingly,
the shares purchased by the ESOP are reported as Unearned ESOP Shares in the statement of financial position. As shares are released
or committed-to-be-released, the Company reports compensation expense equal to the current average market price of the shares, and the
shares become outstanding for earnings-per-share (EPS) computations. The ESOP borrowed from the Corporation an amount equal to the purchase
price.&#160;The loan will be repaid in fifteen (15) equal annual installments of principal commencing June 2021.&#160;The Board of Directors
has fixed the interest rate and the unpaid balance will bear interest at a fixed rate of <ix:nonFraction contextRef="c76" decimals="4" format="ixt:num-dot-decimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" unitRef="pure" id="ixv-7190">3.00</ix:nonFraction>% per annum. ESOP compensation expense was
$<ix:nonFraction contextRef="c75" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:EmployeeStockOwnershipPlanESOPCompensationExpense" scale="0" unitRef="usd" id="ixv-7191">438,136</ix:nonFraction> and $<ix:nonFraction contextRef="c77" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:EmployeeStockOwnershipPlanESOPCompensationExpense" scale="0" unitRef="usd" id="ixv-7192">365,646</ix:nonFraction> for the years ended June 30, 2024 and 2023, respectively.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p></ix:nonNumeric><div>

</div><div>

</div><!-- Field: Page; Sequence: 26 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->25<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Espey Mfg. &amp; Electronics Corp.</p><p style="border-bottom: Black 0.5pt solid; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration: none">Notes to Financial Statements </span></p><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 10pt; margin-right: 0pt; margin-left: 0pt; text-align: justify">Note
                                                                                                                                                                                                                                                                                                                                                                    10. Employee Stock Ownership Plan, <i>Continued</i></p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><ix:continuation id="esp_EmployeeStockOwnershipPlanTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0in"><ix:nonNumeric contextRef="c0" continuedAt="_ScheduleOfEmployeeStockOwnershipPlanESOPDisclosuresTextBlock-c0_cont_1" escape="true" name="us-gaap:ScheduleOfEmployeeStockOwnershipPlanESOPDisclosuresTextBlock" id="ixv-7193">The ESOP shares as of June 30,
2024 and 2023 were as follows:</ix:nonNumeric></p>

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

<ix:continuation id="_ScheduleOfEmployeeStockOwnershipPlanESOPDisclosuresTextBlock-c0_cont_1"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-indent: 0in">Allocated shares</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c3" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares" scale="0" unitRef="shares" id="ixv-7194">451,132</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c4" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares" scale="0" unitRef="shares" id="ixv-7195">484,958</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-bottom: 1pt">Unearned shares</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:EmployeeStockOwnershipPlanESOPNumberOfSuspenseShares" scale="0" unitRef="shares" id="ixv-7196">211,487</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:EmployeeStockOwnershipPlanESOPNumberOfSuspenseShares" scale="0" unitRef="shares" id="ixv-7197">233,645</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total shares held by the ESOP</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c3" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:EmployeeStockOwnershipPlanESOPSharesInESOP" scale="0" unitRef="shares" id="ixv-7198">662,619</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c4" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:EmployeeStockOwnershipPlanESOPSharesInESOP" scale="0" unitRef="shares" id="ixv-7199">718,603</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-bottom: 2.5pt">Fair value of unearned shares</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:EmployeeStockOwnershipPlanESOPDeferredSharesFairValue" scale="0" unitRef="usd" id="ixv-7200">4,494,099</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:EmployeeStockOwnershipPlanESOPDeferredSharesFairValue" scale="0" unitRef="usd" id="ixv-7201">3,913,554</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table></ix:continuation>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company may at times be required to repurchase
shares at the ESOP participants&#8217; request at the fair market value. During the years ended June 30, 2024 and 2023, the Company
did not repurchase shares previously held by the ESOP.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The ESOP allows for eligible participants to take
whole share distributions from the plan on specific dates in accordance with the provision of the plan. Share distributions from the ESOP
during the years ended June 30, 2024 and 2023 totaled <ix:nonFraction contextRef="c75" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeBenefitPlan" scale="0" unitRef="shares" id="ixv-7202">55,984</ix:nonFraction> shares and <ix:nonFraction contextRef="c77" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeBenefitPlan" scale="0" unitRef="shares" id="ixv-7203">33,780</ix:nonFraction> shares, respectively.</p></ix:continuation><div>

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

</div><ix:nonNumeric contextRef="c0" continuedAt="_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock-c0_cont_1" escape="true" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" id="ixv-5381"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0in">Note 11. Stock-based Compensation</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company follows ASC 718 in establishing standards
for the accounting for transactions in which an entity exchanges its equity instruments for goods or services, as well as transactions
in which an entity incurs liabilities in exchange for goods or services that are based on the fair value of the entity&#8217;s equity
instruments or that may be settled by the issuance of those equity instruments. ASC 718 requires that the cost resulting from all share-based
payment transactions be recognized in the financial statements based on the fair value of the share-based payment. ASC 718 establishes
fair value as the measurement objective in accounting for share-based payment transactions with employees, except for equity instruments
held by employee share ownership plans. Included as a reduction to the cost recognized for share-based payments is an estimate for option
forfeitures. It is the Company&#8217;s policy to estimate expected option forfeitures based on historical experience. Actual forfeitures
are adjusted prior to the vesting date if the impact is material.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Total stock-based compensation expense recognized
in the statements of comprehensive income for the fiscal years ended June 30, 2024 and 2023, was $<ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="0" unitRef="usd" id="ixv-7204">283,673</ix:nonFraction> and $<ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="0" unitRef="usd" id="ixv-7205">227,132</ix:nonFraction>, respectively,
before income taxes. The amount of this stock-based compensation expense related to non-qualified stock options (&#8220;NQSOs&#8221;)
for the fiscal years ended June 30, 2024 and 2023, was $<ix:nonFraction contextRef="c78" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="0" unitRef="usd" id="ixv-7206">34,903</ix:nonFraction> and $<ix:nonFraction contextRef="c79" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="0" unitRef="usd" id="ixv-7207">21,432</ix:nonFraction>, respectively. The deferred tax benefit related to the NQSOs
as of June 30, 2024 and 2023 was approximately $<ix:nonFraction contextRef="c78" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredOtherTaxExpenseBenefit" scale="0" unitRef="usd" id="ixv-7208">7,330</ix:nonFraction> and $<ix:nonFraction contextRef="c79" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredOtherTaxExpenseBenefit" scale="0" unitRef="usd" id="ixv-7209">4,501</ix:nonFraction>, respectively. The remaining stock option expense, in each year, related
to incentive stock options (&#8220;ISOs&#8221;) which are not deductible by the corporation when exercised, assuming a qualifying disposition
and as such no deferred tax benefit was established related to these amounts.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">As of June 30, 2024, there was approximately
$<ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" scale="0" unitRef="usd" id="ixv-7210">204,765</ix:nonFraction> of unrecognized compensation cost related to stock option awards that is expected to be recognized as expense over the next
<ix:nonNumeric contextRef="c0" format="ixt-sec:duryear" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="ixv-7211">1.75</ix:nonNumeric> years, of which $<ix:nonFraction contextRef="c80" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" scale="0" unitRef="usd" id="ixv-7212">181,955</ix:nonFraction> relates to ISOs and $<ix:nonFraction contextRef="c81" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" scale="0" unitRef="usd" id="ixv-7213">22,809</ix:nonFraction> relates to NQSOs. The total deferred tax benefit related to the NQSOs in
future years will be $<ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredOtherTaxExpenseBenefit" scale="0" unitRef="usd" id="ixv-7214">4,790</ix:nonFraction>.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company has one employee stock option plan
under which options or stock awards may be granted, the 2017 Stock Option and Restricted Stock Plan (the "2017 Plan"), approved
by the Company's shareholders at the Company's Annual Meeting on December 1, 2017. The Board of Directors may grant options to acquire
shares of common stock to employees and non-employee directors of the Company at the fair market value of the common stock on the date
of grant. The maximum aggregate number of shares of common stock subject to options or awards to non-employee directors is <ix:nonFraction contextRef="c82" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease" scale="0" unitRef="shares" id="ixv-7215">133,000</ix:nonFraction> and
the maximum aggregate number of shares of common stock subject to options or awards granted to non-employee directors during any single
fiscal year is the lesser of <ix:nonFraction contextRef="c83" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease" scale="0" unitRef="shares" id="ixv-7216">13,300</ix:nonFraction> and <span style="-sec-ix-hidden: hidden-fact-23">33 1/3%</span> of the total number of shares subject to options or awards granted in such fiscal year.
The maximum number of shares subject to options or awards granted to any individual employee may not exceed <ix:nonFraction contextRef="c84" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease" scale="0" unitRef="shares" id="ixv-7217">15,000</ix:nonFraction> in a fiscal year. Generally,
options granted have a two-year vesting period based on <ix:nonNumeric contextRef="c85" format="ixt-sec:durwordsen" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="ixv-7218">two years</ix:nonNumeric> of
continuous service and have a ten-year contractual life. Option grants provide for accelerated vesting if there is a change in control.
Shares issued upon the exercise of options are from those held in Treasury. </p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p></ix:nonNumeric><div>

</div><div>

</div><!-- Field: Page; Sequence: 27 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->26<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Espey Mfg. &amp; Electronics Corp.</p><p style="border-bottom: Black 0.5pt solid; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration: none">Notes to Financial Statements </span></p><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 10pt; margin-right: 0pt; margin-left: 0pt; text-align: justify">Note
                                                                                                                                                                                                                                                                                                                                                                    11. Stock-based Compensation, <i>Continued</i></p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><ix:continuation continuedAt="_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock-c0_cont_2" id="_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Options covering <ix:nonFraction contextRef="c86" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" scale="0" unitRef="shares" id="ixv-7219">400,000</ix:nonFraction> shares are authorized for issuance
under the 2017 Plan. As of June 30, 2024, options covering <ix:nonFraction contextRef="c87" decimals="0" format="ixt:num-dot-decimal" name="esp:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercised" scale="0" unitRef="shares" id="ixv-7220">31,325</ix:nonFraction> shares have been exercised, options covering <ix:nonFraction contextRef="c88" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" scale="0" unitRef="shares" id="ixv-7221">287,706</ix:nonFraction> shares are outstanding
and options covering <ix:nonFraction contextRef="c89" decimals="0" format="ixt:num-dot-decimal" name="esp:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestCancelled" scale="0" unitRef="shares" id="ixv-7222">143,973</ix:nonFraction> shares have been cancelled. As of June 30, 2024, options covering <ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" scale="0" unitRef="shares" id="ixv-7223">80,969</ix:nonFraction> shares remain available for grant,
after factoring the cancelled shares, which are eligible to be re-granted. While no further grants of options may be made under the Company&#8217;s
2007 Stock Option and Restricted Stock Plan, as of June 30, 2024, <ix:nonFraction contextRef="c90" decimals="INF" format="ixt:num-dot-decimal" name="esp:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionOutstandingNumber" scale="0" unitRef="shares" id="ixv-7224">34,350</ix:nonFraction> options were outstanding under such plan of which all are vested
and exercisable.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">ASC 718 requires the use of a valuation model
to calculate the fair value of stock-based awards. The Company has elected to use the Black-Scholes option valuation model, which incorporates
various assumptions including those for volatility, expected life, and interest rates.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><ix:nonNumeric contextRef="c0" continuedAt="_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock-c0_cont_1" escape="true" name="us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" id="ixv-7225">The table below outlines the weighted average
assumptions that the Company used to calculate the fair value of each option award for the years ended June 30, 2024 and 2023.</ix:nonNumeric></p>

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

<ix:continuation id="_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock-c0_cont_1"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left; text-indent: 0in">Dividend yield</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c0" decimals="4" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" scale="-2" unitRef="pure" id="ixv-7226">3.61</ix:nonFraction>%</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c5" decimals="4" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" scale="-2" unitRef="pure" id="ixv-7227">0.03</ix:nonFraction>%</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left">Expected stock price volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="4" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" scale="-2" unitRef="pure" id="ixv-7228">31.21</ix:nonFraction>%</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c5" decimals="4" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" scale="-2" unitRef="pure" id="ixv-7229">27.20</ix:nonFraction>%</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Risk-free interest rate</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="4" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" scale="-2" unitRef="pure" id="ixv-7230">4.39</ix:nonFraction>%</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c5" decimals="4" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" scale="-2" unitRef="pure" id="ixv-7231">2.71</ix:nonFraction>%</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left">Expected option life (in years)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonNumeric contextRef="c0" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" id="ixv-7232">5.3</ix:nonNumeric>yrs</td><td style="white-space: nowrap; text-align: left"/><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonNumeric contextRef="c5" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" id="ixv-7233">5.4</ix:nonNumeric>yrs</td><td style="white-space: nowrap; text-align: left"/></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Weighted average fair value per share of options granted during the period</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" unitRef="usdPershares" id="ixv-7234">4.11</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c5" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" unitRef="usdPershares" id="ixv-7235">4.18</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table></ix:continuation>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Effective March 13, 2023, the Company reinstated
payment of a quarterly dividend. The Company paid regular cash dividends on common stock of $<ix:nonFraction contextRef="c81" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:SharePrice" scale="0" unitRef="usdPershares" id="ixv-7236">0.675</ix:nonFraction> per share for the fiscal year ended
June 30, 2024 and paid regular cash dividends on common stock of $<ix:nonFraction contextRef="c91" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:SharePrice" scale="0" unitRef="usdPershares" id="ixv-7237">0.20</ix:nonFraction> per share for the fiscal year ended June 30, 2023. Expected stock
price volatility is based on the historical volatility of the Company&#8217;s stock. The risk-free interest rate is based on the implied
yield available on U.S. Treasury issues with an equivalent term approximating the expected life of the options. The expected option term
(in years) represents the estimated period of time until exercise and is based on actual historical experience.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><ix:nonNumeric contextRef="c0" continuedAt="_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock-c0_cont_1" escape="true" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" id="ixv-7238">The following table summarizes stock option activity
during the year ended June 30, 2024:</ix:nonNumeric></p>

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

<ix:continuation id="_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock-c0_cont_1"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td colspan="15" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Employee Stock Option Plans</td></tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Weighted</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td></tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Number of</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Weighted</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Average</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td></tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Shares</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Average</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Remaining</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Aggregate</td></tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Subject</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Exercise</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Contractual</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Intrinsic</td></tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap">&#160;</td><td style="text-align: center; border-bottom: Black 1pt solid; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">to Option</td><td style="text-align: center; border-bottom: Black 1pt solid; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Price</td><td style="text-align: center; border-bottom: Black 1pt solid; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Term</td><td style="text-align: center; border-bottom: Black 1pt solid; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Value</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 48%">Balance at July 1, 2023</td><td style="width: 3%">&#160;</td> <td style="width: 1%; text-align: left">&#160;</td><td style="width: 8%; text-align: right"><ix:nonFraction contextRef="c92" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" unitRef="shares" id="ixv-7239">296,331</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 3%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 8%; text-align: right"><ix:nonFraction contextRef="c92" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" unitRef="usdPershares" id="ixv-7240">19.15</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 3%">&#160;</td> <td style="width: 1%; text-align: left">&#160;</td><td style="width: 8%; text-align: right"><ix:nonNumeric contextRef="c93" format="ixt-sec:duryear" name="esp:SharebasedCompensationArrangementsBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="ixv-7241">6.49</ix:nonNumeric></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 3%">&#160;</td> <td style="width: 1%; text-align: left">&#160;</td><td style="width: 8%; text-align: right"><div style="-sec-ix-hidden: hidden-fact-22">&#160;</div></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; "> <td>Granted</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c94" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" scale="0" unitRef="shares" id="ixv-7242">80,900</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c94" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" scale="0" unitRef="usdPershares" id="ixv-7243">16.78</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonNumeric contextRef="c94" format="ixt-sec:duryear" name="esp:WeightedAverageRemainingContrSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTermactualTermGranted" id="ixv-7244">9.22</ix:nonNumeric></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Exercised</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c94" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" unitRef="shares" id="ixv-7245">31,325</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c94" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" scale="0" unitRef="usdPershares" id="ixv-7246">16.80</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; "> <td style="text-align: left; padding-bottom: 1pt">Forfeited or expired</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c94" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" scale="0" unitRef="shares" id="ixv-7247">23,850</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c94" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" scale="0" unitRef="usdPershares" id="ixv-7248">24.30</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 2.5pt">Outstanding at June 30, 2024</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c95" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" unitRef="shares" id="ixv-7249">322,056</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c95" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" unitRef="usdPershares" id="ixv-7250">18.41</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonNumeric contextRef="c94" format="ixt-sec:duryear" name="esp:SharebasedCompensationArrangementsBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="ixv-7251">6.59</ix:nonNumeric></td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c95" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="0" unitRef="usd" id="ixv-7252">1,259,317</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; "> <td style="text-align: left; padding-bottom: 2.5pt">Vested or expected to vest at June 30, 2024</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c95" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" scale="0" unitRef="shares" id="ixv-7253">313,205</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c95" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" scale="0" unitRef="usdPershares" id="ixv-7254">18.45</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonNumeric contextRef="c94" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" id="ixv-7255">6.52</ix:nonNumeric></td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c95" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" scale="0" unitRef="usd" id="ixv-7256">1,212,613</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 2.5pt">Exercisable at June 30, 2024</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c95" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" scale="0" unitRef="shares" id="ixv-7257">174,756</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c95" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" scale="0" unitRef="usdPershares" id="ixv-7258">20.98</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonNumeric contextRef="c94" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTerm2" id="ixv-7259">4.83</ix:nonNumeric></td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c95" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" scale="0" unitRef="usd" id="ixv-7260">382,667</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td></tr> </table></ix:continuation>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The aggregate intrinsic value in the table above
represents the total pretax intrinsic value (the difference between the closing sale price of the Company&#8217;s common stock as reported
on the NYSE American on June 30, 2024 and the exercise price, multiplied by the number of in-the-money options) that would have been
received by the option holders if all option holders had exercised their options on June 30, 2024. This amount changes based on the fair
market value of the Company&#8217;s common stock. </p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p></ix:continuation><div>

</div><div>

</div><!-- Field: Page; Sequence: 28 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->27<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Espey Mfg. &amp; Electronics Corp.</p><p style="border-bottom: Black 0.5pt solid; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration: none">Notes to Financial Statements </span></p><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 10pt; margin-right: 0pt; margin-left: 0pt; text-align: justify">Note 11. Stock-based Compensation, <i>Continued</i></p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><ix:continuation id="_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock-c0_cont_2"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The total
intrinsic values of the options exercised during the twelve months ended June 30, 2024 and 2023 was $<ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" scale="0" unitRef="usd" id="ixv-7261">195,236</ix:nonFraction> and $<ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" scale="0" unitRef="usd" id="ixv-7262">0</ix:nonFraction>, respectively.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><ix:nonNumeric contextRef="c0" continuedAt="_ScheduleOfNonvestedShareActivityTableTextBlock-c0_cont_1" escape="true" name="us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock" id="ixv-7263">The following table summarizes changes in non-vested stock options
during the year ended June 30, 2024:</ix:nonNumeric></p>

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

<ix:continuation id="_ScheduleOfNonvestedShareActivityTableTextBlock-c0_cont_1"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center">Weighted Number</td><td>&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center">Average</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center">of Shares</td><td>&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center">Grant Date</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center">Subject</td><td>&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center">Fair Value</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">to Option</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">(per Option)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%">Non-vested at July 1, 2023</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c4" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" scale="0" unitRef="shares" id="ixv-7264">132,600</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c4" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" unitRef="usdPershares" id="ixv-7265">3.98</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td>Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" scale="0" unitRef="shares" id="ixv-7266">80,900</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" unitRef="usdPershares" id="ixv-7267">4.11</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Vested</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" scale="0" unitRef="shares" id="ixv-7268">60,700</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" scale="0" unitRef="usdPershares" id="ixv-7269">3.74</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left; padding-bottom: 1pt">Forfeited or expired</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c0" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" scale="0" unitRef="shares" id="ixv-7270">5,500</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" scale="0" unitRef="usdPershares" id="ixv-7271">4.04</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Non-vested at June 30, 2024</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c3" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" scale="0" unitRef="shares" id="ixv-7272">147,300</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c3" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" unitRef="usdPershares" id="ixv-7273">4.15</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td></tr>
  </table></ix:continuation></ix:continuation><div>

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

</div><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:ConcentrationRiskDisclosureTextBlock" id="ixv-5767"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Note 12. Concentration of Credit Risk</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Financial instruments that potentially subject
the Company to concentrations of credit risk consist principally of cash and cash equivalents, short-term investments and accounts receivable.
The Company maintains cash and cash equivalents with various financial institutions. At times such investments may be in excess of FDIC
insurance limits. As disclosed in Note 9, a significant portion of the Company's business is the production of military and industrial
electronic equipment for use by the U.S. and foreign governments and certain industrial customers. The related accounts receivable balance,
as a percentage of the Company's total trade accounts receivable balance, was <ix:nonFraction contextRef="c73" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-7274">79</ix:nonFraction>% represented by five customers at June 30, 2024 and <ix:nonFraction contextRef="c74" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-7275">81</ix:nonFraction>%
represented by five customers at June 30, 2023.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Although the Company's exposure to credit
risk associated with nonpayment of these concentrated balances is affected by the conditions or occurrences within the U.S. and
foreign governments, the Company believes that its trade accounts receivable credit risk exposure is limited. The Company performs
ongoing credit evaluations of its customer's financial conditions and requires collateral, such as progress payments, in certain
circumstances. The Company establishes an allowance for credit losses based upon factors surrounding the credit risk of specific
customers, historical trends and other information.</p></ix:nonNumeric><div>

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

</div><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:RelatedPartyTransactionsDisclosureTextBlock" id="ixv-5776"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Note 13. Related Parties</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The administration of the shares of common stock
held by the ESOP Trust is subject to the Espey Mfg. &amp; Electronics Corp. Employee Retirement Plan and Trust (ESOP) and a Trust Agreement,
each effective as of July 1, 2016. The Trustees&#8217; rights with respect to the disposition of shares are governed by the terms of the
Plan and the Trust Agreement. As to shares that have been allocated to the accounts of participants in the ESOP Trust, the Plan provides
that the Trustees are required to vote such shares in accordance with instructions received from the participants. As to unallocated shares
and allocated shares for which voting instructions have not been received from participants, the Plan provides that the Trustees are required
to vote such shares in accordance with the direction of the Board of Directors of the Company under the terms of the Plan and Trust Agreement,
which is currently in the same proportion as the instructions received on the allocated shares. See Note 10 for additional information
regarding the ESOP.</p></ix:nonNumeric><div>

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

</div><ix:nonNumeric contextRef="c0" continuedAt="_CommitmentsAndContingenciesDisclosureTextBlock-c0_cont_1" escape="true" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="ixv-5783"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -0.75in">Note 14. Commitments
and Contingencies</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company at certain times enters into
standby letters of credit agreements with financial institutions primarily relating to the guarantee of future performance on
certain contracts. Contingent liabilities on outstanding standby letters of credit agreements aggregated to <ix:nonFraction contextRef="c3" decimals="0" format="ixt:fixed-zero" name="us-gaap:LettersOfCreditOutstandingAmount" scale="0" unitRef="usd" id="ixv-7276"><ix:nonFraction contextRef="c4" decimals="0" format="ixt:fixed-zero" name="us-gaap:LettersOfCreditOutstandingAmount" scale="0" unitRef="usd" id="ixv-7277">zero</ix:nonFraction></ix:nonFraction> at June 30, 2024
and 2023. The Company, as a U.S. Government contractor, is subject to audits, reviews, and investigations by the U.S. Government
related to its negotiation and performance of government contracts and its accounting for such contracts. Failure to comply with
applicable U.S. Government standards by a contractor may result in suspension from eligibility for award of any new government
contract and a guilty plea or conviction may result in debarment from eligibility for awards. </p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -0.75in">&#160;</p></ix:nonNumeric><div>

</div><div>

</div><!-- Field: Page; Sequence: 29 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->28<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Espey Mfg. &amp; Electronics Corp.</p><p style="border-bottom: Black 0.5pt solid; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration: none">Notes to Financial Statements </span></p><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 10pt; margin-right: 0pt; margin-left: 0pt; text-align: justify">Note
                                                                                                                                                                                                                                                                                                                                                                    14. Commitments and Contingencies, <i>Continued</i></p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><ix:continuation id="_CommitmentsAndContingenciesDisclosureTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The government may, in certain cases, also terminate existing contracts, recover damages, and
impose other sanctions and penalties. As a result of contract audits the Company will determine a range of possible outcomes and in accordance
with ASC 450 &#8220;Contingencies&#8221; the Company will accrue amounts within a range that appears to be its best estimate of a possible
outcome. Adjustments are made to accruals, if any, periodically based on current information.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We are party to various litigation matters and
claims arising from time to time in the ordinary course of business.&#160;While the results of such matters cannot be predicted with certainty,
we believe that the final outcome of such matters will not have a material adverse effect on our business, financial condition, results
of operations or cash flows. Currently, there are no matters pending.</p></ix:continuation><div>

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

</div><ix:nonNumeric contextRef="c0" continuedAt="_StockholdersEquityNoteDisclosureTextBlock-c0_cont_1" escape="true" name="us-gaap:StockholdersEquityNoteDisclosureTextBlock" id="ixv-5811"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Note 15. Stockholders' Equity</p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><ix:nonNumeric contextRef="c0" continuedAt="esp_ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock-c0_cont_1" escape="true" name="esp:ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock" id="ixv-7278">The Company has reserved common shares for future
issuance as follows as of June 30, 2024:</ix:nonNumeric></p>

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

<ix:continuation id="esp_ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock-c0_cont_1"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 84%; text-align: left">Stock options outstanding</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right"><ix:nonFraction contextRef="c29" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" unitRef="shares" id="ixv-7279">322,056</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left; padding-bottom: 1pt">Stock options available for issuance</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c29" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" scale="0" unitRef="shares" id="ixv-7280">80,969</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Number of common shares reserved</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c29" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" scale="0" unitRef="shares" id="ixv-7281">403,025</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table></ix:continuation>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><ix:nonNumeric contextRef="c0" continuedAt="_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock-c0_cont_1" escape="true" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="ixv-7282">The following table sets forth the reconciliation
of the numerators and denominators of the basic and diluted earnings per share computations for continuing operations for the years ended
June 30:</ix:nonNumeric></p>

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

<ix:continuation id="_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock-c0_cont_1"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Numerator:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="width: 72%; text-align: left; padding-bottom: 2.5pt">Net income</td><td style="width: 2%; padding-bottom: 2.5pt">&#160;</td>
    <td style="width: 1%; border-bottom: Black 2.5pt double; text-align: left">$</td><td style="width: 10%; border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="0" unitRef="usd" id="ixv-7283">5,815,140</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 2.5pt">&#160;</td>
    <td style="width: 1%; border-bottom: Black 2.5pt double; text-align: left">$</td><td style="width: 10%; border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="0" unitRef="usd" id="ixv-7284">3,677,131</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Denominator:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Basic EPS:</td><td style="font-family: Courier New, Courier, Monospace">&#160;</td>
    <td style="font-family: Courier New, Courier, Monospace; text-align: left">&#160;</td><td style="font-family: Courier New, Courier, Monospace; text-align: right">&#160;</td><td style="white-space: nowrap; font-family: Courier New, Courier, Monospace; text-align: left">&#160;</td><td style="font-family: Courier New, Courier, Monospace">&#160;</td>
    <td style="font-family: Courier New, Courier, Monospace; text-align: left">&#160;</td><td style="font-family: Courier New, Courier, Monospace; text-align: right">&#160;</td><td style="white-space: nowrap; font-family: Courier New, Courier, Monospace; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-align: left">Common shares outstanding, beginning of period</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockOtherSharesOutstanding" scale="0" unitRef="shares" id="ixv-7285">2,702,633</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockOtherSharesOutstanding" scale="0" unitRef="shares" id="ixv-7286">2,702,633</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt">Unearned ESOP shares</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased" scale="0" unitRef="shares" id="ixv-7287">233,645</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c5" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased" scale="0" unitRef="shares" id="ixv-7288">256,293</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt">Weighted average common shares issued during the period</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesIssuedBasic" scale="0" unitRef="shares" id="ixv-7289">11,837</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-24">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; padding-bottom: 1pt">Weighted average ESOP shares earned during the period</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesContingentlyIssuable" scale="0" unitRef="shares" id="ixv-7290">8,340</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c5" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesContingentlyIssuable" scale="0" unitRef="shares" id="ixv-7291">8,516</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-align: left">Denominator for basic earnings per common shares &#8211;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 40pt; padding-bottom: 2.5pt">Weighted average common shares</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c0" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" unitRef="shares" id="ixv-7292">2,489,165</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c5" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" unitRef="shares" id="ixv-7293">2,454,856</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Diluted EPS:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt">Common shares outstanding, beginning of period</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockOtherSharesOutstanding" scale="0" unitRef="shares" id="ixv-7294">2,702,633</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockOtherSharesOutstanding" scale="0" unitRef="shares" id="ixv-7295">2,702,633</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt">Unearned ESOP shares</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased" scale="0" unitRef="shares" id="ixv-7296">233,645</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c5" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased" scale="0" unitRef="shares" id="ixv-7297">256,293</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt">Weighted average common shares issued during the period</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesCommonStockSubjectToRepurchaseOrCancellation" scale="0" unitRef="shares" id="ixv-7298">11,837</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-25">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt">Weighted average ESOP shares earned during the period</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesContingentlyIssuable" scale="0" unitRef="shares" id="ixv-7299">8,340</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c5" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesContingentlyIssuable" scale="0" unitRef="shares" id="ixv-7300">8,516</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; padding-bottom: 1pt">Weighted average dilutive effect of stock options</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="0" unitRef="shares" id="ixv-7301">47,802</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c5" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="0" unitRef="shares" id="ixv-7302">16,160</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Denominator for diluted earnings per common shares &#8211;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 40pt; padding-bottom: 2.5pt">Weighted average common shares</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c0" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" unitRef="shares" id="ixv-7303">2,536,967</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c5" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" unitRef="shares" id="ixv-7304">2,471,016</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p></ix:continuation></ix:nonNumeric><div>

</div><div>

</div><!-- Field: Page; Sequence: 30 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->29<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Espey Mfg. &amp; Electronics Corp.</p><p style="border-bottom: Black 0.5pt solid; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration: none">Notes to Financial Statements </span></p><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 10pt; margin-right: 0pt; margin-left: 0pt; text-align: justify">Note 15. Stockholders&#8217; Equity, <i>Continued</i></p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><ix:continuation id="_StockholdersEquityNoteDisclosureTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Not included in this computation of earnings per
share for the year ended June 30, 2024 and 2023 were options to purchase <ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" unitRef="shares" id="ixv-7305">62,691</ix:nonFraction> and <ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" unitRef="shares" id="ixv-7306">130,656</ix:nonFraction> shares, respectively, of the Company&#8217;s
common stock. These options were excluded because their inclusion would have been anti-dilutive due to the average strike price exceeding
the average market price of those shares.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Effective March 13, 2023, the Company reinstated
payment of a quarterly dividend. The Company paid regular cash dividends on common stock of $<ix:nonFraction contextRef="c0" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:CommonStockDividendsPerShareCashPaid" scale="0" unitRef="usdPershares" id="ixv-7307">0.675</ix:nonFraction> per share for the fiscal year ended
June 30, 2024 and paid regular cash dividends on common stock of $<ix:nonFraction contextRef="c5" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:CommonStockDividendsPerShareCashPaid" scale="0" unitRef="usdPershares" id="ixv-7308">0.20</ix:nonFraction> per share for the fiscal year ended June 30, 2023. Our Board of
Directors assesses the Company&#8217;s dividend policy periodically. There is no assurance that the Board of Directors will maintain the
amount of the regular cash dividend during any future years.</p></ix:continuation><div>

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

</div><ix:nonNumeric contextRef="c0" escape="true" name="esp:LineOfCreditTextBlock" id="ixv-6077"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Note 16. Line of Credit</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">At June 30, 2024, the Company has an uncommitted
and unused Line of Credit with a financial institution. The agreement provides that the Company may borrow up to $<ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity" scale="0" unitRef="usd" id="ixv-7309">3,000,000</ix:nonFraction>. The line
provides for interest payments equal to the SOFR Daily Floating Rate plus <ix:nonFraction contextRef="c0" decimals="2" format="ixt:num-dot-decimal" name="esp:FloatingRatePercentage" scale="-2" unitRef="pure" id="ixv-7310">2</ix:nonFraction> percentage points. Any borrowing under the line of credit
will be collateralized by accounts receivable. All outstanding balances are payable no later than the expiration date of the agreement,
unless other terms are agreed to by the lender. The existing line of credit expires February 28, 2025. The Company did not borrow any
funds during the last two fiscal years.</p></ix:nonNumeric><div>

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

</div><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:QuarterlyFinancialInformationTextBlock" id="ixv-6084"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Note 17. Quarterly Financial Information (Unaudited)</p>

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

<ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock" id="ixv-6087"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap">&#160;</td><td>&#160;</td> <td colspan="2" style="white-space: nowrap; text-align: right">First</td><td>&#160;</td><td>&#160;</td> <td colspan="2" style="white-space: nowrap; text-align: right">Second</td><td>&#160;</td><td>&#160;</td> <td colspan="2" style="white-space: nowrap; text-align: right">Third</td><td>&#160;</td><td>&#160;</td> <td colspan="2" style="white-space: nowrap; text-align: right">Fourth</td><td>&#160;</td></tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-weight: bold">2024</td><td style="padding-bottom: 1pt">&#160;</td> <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Quarter</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td> <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Quarter</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td> <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Quarter</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td> <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Quarter</td><td style="padding-bottom: 1pt">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 44%; text-align: left">Net sales</td><td style="width: 2%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c96" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="0" unitRef="usd" id="ixv-7311">8,568,214</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c97" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="0" unitRef="usd" id="ixv-7312">10,302,541</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c98" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="0" unitRef="usd" id="ixv-7313">8,254,653</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c99" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="0" unitRef="usd" id="ixv-7314">11,610,911</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; "> <td style="padding-left: 30pt; text-align: left">Gross profit</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c96" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="0" unitRef="usd" id="ixv-7315">2,245,377</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c97" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="0" unitRef="usd" id="ixv-7316">3,142,575</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c98" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="0" unitRef="usd" id="ixv-7317">2,064,191</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c99" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="0" unitRef="usd" id="ixv-7318">3,200,917</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 30pt; text-align: left">Net income</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c96" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="0" unitRef="usd" id="ixv-7319">1,094,544</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c97" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="0" unitRef="usd" id="ixv-7320">1,795,370</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c98" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="0" unitRef="usd" id="ixv-7321">1,031,930</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c99" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="0" unitRef="usd" id="ixv-7322">1,893,296</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; "> <td>Net income per share -</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 10pt">Basic</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c96" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" unitRef="usdPershares" id="ixv-7323">0.44</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c97" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" unitRef="usdPershares" id="ixv-7324">0.73</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c98" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" unitRef="usdPershares" id="ixv-7325">0.41</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c99" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" unitRef="usdPershares" id="ixv-7326">0.76</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; "> <td style="padding-left: 10pt">Diluted</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c96" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" unitRef="usdPershares" id="ixv-7327">0.44</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c97" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" unitRef="usdPershares" id="ixv-7328">0.72</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c98" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" unitRef="usdPershares" id="ixv-7329">0.40</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c99" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" unitRef="usdPershares" id="ixv-7330">0.73</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; "> <td style="vertical-align: bottom; font-weight: bold; text-align: left">2023</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Net sales</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c100" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="0" unitRef="usd" id="ixv-7331">8,635,795</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c101" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="0" unitRef="usd" id="ixv-7332">8,804,109</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c102" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="0" unitRef="usd" id="ixv-7333">9,809,616</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c103" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="0" unitRef="usd" id="ixv-7334">8,342,803</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; "> <td style="padding-left: 30pt; text-align: left">Gross profit</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c100" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="0" unitRef="usd" id="ixv-7335">1,812,142</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c101" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="0" unitRef="usd" id="ixv-7336">2,260,722</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c102" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="0" unitRef="usd" id="ixv-7337">1,973,429</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c103" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="0" unitRef="usd" id="ixv-7338">2,004,245</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 30pt; text-align: left">Net income</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c100" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="0" unitRef="usd" id="ixv-7339">768,266</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c101" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="0" unitRef="usd" id="ixv-7340">1,146,042</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c102" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="0" unitRef="usd" id="ixv-7341">867,288</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c103" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="0" unitRef="usd" id="ixv-7342">895,535</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; "> <td>Net income per share -</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 10pt">Basic</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c100" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" unitRef="usdPershares" id="ixv-7343">0.31</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c101" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" unitRef="usdPershares" id="ixv-7344">0.47</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c102" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" unitRef="usdPershares" id="ixv-7345">0.35</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c103" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" unitRef="usdPershares" id="ixv-7346">0.37</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; "> <td style="padding-left: 10pt">Diluted</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c100" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" unitRef="usdPershares" id="ixv-7347">0.31</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c101" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" unitRef="usdPershares" id="ixv-7348">0.47</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c102" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" unitRef="usdPershares" id="ixv-7349">0.35</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c103" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" unitRef="usdPershares" id="ixv-7350">0.36</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> </table></ix:nonNumeric></ix:nonNumeric><div>

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

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

</div><table cellpadding="0" cellspacing="0" style="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0%"/><td style="width: 0.5in">Item 9.</td><td>Changes in and Disagreements with Accountants on Accounting and Financial Disclosure</td></tr></table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-indent: 0in">None</p><div>

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

</div><table cellpadding="0" cellspacing="0" style="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0%"/><td style="width: 0.5in">Item 9A.</td><td>Controls and Procedures</td></tr></table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-indent: -0.5in">Evaluation of Controls and Procedures</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">(a) The Company's management, with the participation
of the Company's chief executive officer and chief financial officer, carried out an evaluation of the effectiveness of our disclosure
controls and procedures (as defined in Rule 13a-15(e) and 15d-15(e) under the Securities Exchange Act of 1934) as of the end of the period
covered by this Annual Report on Form 10-K. Based on such evaluation, our chief executive officer and chief financial officer have concluded
that our disclosure controls and procedures were effective as of the end of the period covered by this report.</p><div>

</div><!-- Field: Page; Sequence: 31 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->30<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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



</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">(b) There have been no changes in our internal
controls over financial reporting during the period covered by this report that have materially affected, or are reasonably likely to
materially affect, our internal controls over financial reporting.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Management&#8217;s Report on Internal Control
over Financial Reporting</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Management of our Company is responsible for establishing
and maintaining adequate internal control over financial reporting, as that term is defined in Exchange Act Rules 13a-15(f) and 15d-15(f).
Our internal control over financial reporting is a process designed 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><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Because of its inherent limitations, internal
control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future
periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance
with the policies or procedures may deteriorate.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Under the supervision and with the participation
of our management, including the principal executive officer and principal financial officer, we conducted an evaluation of the effectiveness
of our internal control over financial reporting using the criteria set forth in Internal Control-Integrated Framework issued by the Committee
of Sponsoring Organizations of the Treadway Commission in 2013. Based on our evaluation using the criteria set forth in Internal Control-Integrated
Framework, management has concluded that our internal control over financial reporting was effective as of June 30, 2024.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">This annual report does not include an attestation
report of our registered public accounting firm regarding internal control over financial reporting. Our report was not subject to attestation
by our registered public accounting firm pursuant to rules of the SEC that permit us to provide only management&#8217;s report in this
annual report.</p><div>

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

</div><table cellpadding="0" cellspacing="0" style="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0%"/><td style="width: 0.5in">Item 9B.</td><td>Other information</td></tr></table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in"><ix:nonNumeric contextRef="c99" format="ixt:fixed-false" name="ecd:Rule10b51ArrTrmntdFlag" id="ixv-7351"><ix:nonNumeric contextRef="c99" format="ixt:fixed-false" name="ecd:Rule10b51ArrAdoptedFlag" id="ixv-7352"><ix:nonNumeric contextRef="c99" format="ixt:fixed-false" name="ecd:NonRule10b51ArrTrmntdFlag" id="ixv-7353"><ix:nonNumeric contextRef="c99" format="ixt:fixed-false" name="ecd:NonRule10b51ArrAdoptedFlag" id="ixv-7354">None</ix:nonNumeric></ix:nonNumeric></ix:nonNumeric></ix:nonNumeric></p><div>

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

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

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The information called for by "Item 10. Directors,
Executive Officers, and Corporate Governance", "Item 11. Executive Compensation", "Item 12. Security Ownership of
Certain Beneficial Owners and Management and Related Stockholder Matters", "Item 13. Certain Relationships and Related Transactions,
and Director Independence" and "Item 14. Principal Accountant Fees and Services", is hereby incorporated by reference to
the Company's Proxy Statement for its Annual Meeting of Shareholders, (scheduled to be held on December 6, 2024) to be filed with the
SEC pursuant to Regulation 14A under the Securities Exchange Act of 1934, as amended.</p><div>


</div><!-- Field: Page; Sequence: 32 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->31<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>


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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 2.85pt 0pt 0; text-align: center">PART IV</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: left">Item 15. Exhibits, Financial Statement Schedules,
Signatures</p><div>

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

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in; text-align: justify">3.1</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; width: 88%">Certificate of incorporation and all &#160;amendments
    thereto (incorporated by reference to <a href="https://www.sec.gov/Archives/edgar/data/33533/000091431704003536/ex3-1.txt" style="-sec-extract: exhibit">Exhibit
    3.1 to Espey&#8217;s Report on Form 10 -K for the year ended June 30, 2004</a> and <a href="https://www.sec.gov/Archives/edgar/data/33533/000091431705000584/ex3-1.txt" style="-sec-extract: exhibit">Report
    on Form 10-Q for the quarter ended December 31, 2004</a>)</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">3.2</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">Amended and Restated By-Laws (incorporated by reference
    to <a href="https://www.sec.gov/Archives/edgar/data/33533/000091431709000534/ex3-2.txt" style="-sec-extract: exhibit">Exhibit 3.2 to Espey&#8217;s Report on Form 8-K dated September 21, 2020</a>)</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">4.1</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">Description of Capital Stock (<a href="https://www.sec.gov/Archives/edgar/data/33533/000091431705003084/form8k-71148_espey.htm" style="-sec-extract: exhibit">incorporated by reference to Espey's Report on Form 8-K dated October 7, 2005</a>)</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">10.3</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">2007 Stock Option and Restricted Stock Plan (<a href="https://www.sec.gov/Archives/edgar/data/33533/000091431707002537/def14a-87039_esp.txt" style="-sec-extract: exhibit">incorporated by reference to Espey&#8217;s Proxy Statement dated October 23, 2007 for the November 30, 2007 Annual Meeting</a>)</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">10.4</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">2017 Stock Option and Restricted Stock Plan (<a href="https://www.sec.gov/Archives/edgar/data/33533/000117494717001416/def14a-18917_esp.htm" style="-sec-extract: exhibit">incorporated by reference to Espey&#8217;s Proxy Statement dated October 27, 2017 for the December 1, 2017 Annual Meeting</a>)</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">10.13</td>
    <td style="text-align: justify; font: 10pt Times New Roman, Times, Serif">Executive Employment Agreement with David O&#8217;Neil (<a href="https://www.sec.gov/Archives/edgar/data/33533/000091431713000271/ex10-13.htm" style="-sec-extract: exhibit">incorporated by reference to Exhibit 10.13 on Espey&#8217;s Report on Form 8 &#8211;K dated June 10, 2024</a>)</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">10.14</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">Executive Employment Agreement with Peggy Murphy (<a href="https://www.sec.gov/Archives/edgar/data/33533/000091431713000271/ex10-14.htm">incorporated by reference to Exhibit 10.14 on Espey&#8217;s Report on Form 10 &#8211;Q dated February 14, 2022</a>)</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>

<tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 12%; text-align: left">10.16</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">Employment Agreement dated January 16, 2018 with Patrick
    Enright, Jr. (<a href="https://www.sec.gov/Archives/edgar/data/33533/000117494718000052/ex10-16.htm">incorporated by reference to Exhibit 10.16 on Espey&#8217;s Report on Form 8-K dated January 16, 2018</a>)</td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: left; font-family: Courier New, Courier, Monospace"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="text-align: left; font-family: Courier New, Courier, Monospace"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">10.16a</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">First Amendment to Employment Agreement dated January
    16, 2018 with Patrick Enright, Jr. (<a href="http://www.sec.gov/Archives/edgar/data/33533/000110465921125460/tm2129828d1_ex10-16a.htm" style="-sec-extract: exhibit">incorporated by reference to&#160;&#160;Exhibit 10.16 on Espey&#8217;s Report on Form 8-K dated
    October 12, 2021</a>)</td></tr>

<tr style="vertical-align: top">
    <td style="text-align: left; font-family: Courier New, Courier, Monospace">&#160;</td>
    <td style="text-align: left; font-family: Courier New, Courier, Monospace">&#160;</td></tr>
<tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; width: 0.75in">10.18</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">Stock Purchase Agreement dated as of December 1, 2020
    between Espey Mfg. &amp; Electronics Corp. and The Trustees of the Espey Mfg. &amp; Electronics Corp. Employee Retirement Plan Trust
    (<a href="http://www.sec.gov/Archives/edgar/data/33533/000117494720001186/ex10-18.htm" style="-sec-extract: exhibit">incorporated by reference to Exhibit 10.18 on Espey&#8217;s Report on Form 8-K dated December 1, 2020</a>)</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">10.19</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">ESOP Loan Agreement dated as of December 1, 2020 between
    The Trustees of Espey Mfg. &amp; Electronics Corp. Employee Retirement Plan Trust and Espey Mfg. &amp; Electronics Corp. (<a href="http://www.sec.gov/Archives/edgar/data/33533/000117494720001186/ex10-19.htm" style="-sec-extract: exhibit">incorporated
    by reference to Exhibit 10.19 on Espey&#8217;s Report on Form 8-K dated December 1, 2020</a>)</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">10.20</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">Executive Employment Agreement with Katrina L. Sparano (<a href="http://www.sec.gov/Archives/edgar/data/33533/000117494722000020/ex10-20.htm" style="-sec-extract: exhibit">incorporated by reference to Exhibit 10.20
    on Espey&#8217;s Report on Form 8 &#8211;K dated January 1, 2022</a>)</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">14.1</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">Code of ethics (incorporated by reference to Espey&#8217;s
    website www.espey.com)</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">19.1</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><a href="ex19-1.htm">Policy on Insider Trading (Revised March 8, 2024) (filed herewith)</a></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">23.1</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><a href="ex23-1.htm">Consent of Freed Maxick CPAs, P.C. (filed herewith)</a></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">31.1</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><a href="ex31-1.htm">Certification of the Chief Executive Officer pursuant to Rules 13a-14(a) and 15d-14(a) under the Securities Exchange Act of 1934, as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002 (filed herewith)</a></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">31.2</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><a href="ex31-2.htm">Certification of the Principal Financial Officer pursuant to Rules 13a-14(a) and 15d-14(a) under the Securities Exchange Act of 1934, as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002 (filed herewith)</a></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
</table><div>

</div><p style="margin: 0">&#160;</p><div>

</div><!-- Field: Page; Sequence: 33 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->32<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="margin: 0"></p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">32.1</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; width: 88%"><a href="ex32-1.htm">Certification of the Chief Executive Officer pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002 (filed herewith)</a></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">32.2</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><a href="ex32-2.htm">Certification of the Principal Financial Officer pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002 (filed herewith)</a></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">97.1</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><a href="ex97-1.htm">Policy Related to Recovery of Erroneously Awarded Compensation (filed herewith)</a></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  </table><div>

</div><!-- Field: Page; Sequence: 34 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->33<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>


</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">S I G N A T U R E S</p><div>

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Pursuant to the requirements of Section 13 and 15(d) 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><div>

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

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

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 60%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 40%">ESPEY MFG. &amp; ELECTRONICS CORP.</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif">/s/ David O&#8217;Neil</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">David O&#8217;Neil</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">President and Chief Executive Officer</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">September 27, 2024</td></tr>
  </table><div>
</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Pursuant to the requirements of the Securities Exchange Act of 1934,
this report has been signed below by the following persons on behalf of the registrant and in the capacities and on the dates indicated.</p><div>

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

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

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; width: 40%">/s/David O&#8217;Neil</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 20%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 40%">President and Chief Executive Officer</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">David O'Neil</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">September 27, 2024</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">/s/Katrina Sparano</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">Principal Financial Officer</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">Katrina Sparano</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">September 27, 2024</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">/s/Carl Helmetag</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">Chairman of the Board</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">Carl Helmetag</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">September 27, 2024</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">/s/Paul J. Corr</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">Director</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">Paul J. Corr</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">September 27, 2024</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">/s/Nancy Patzwahl</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">Director</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">Nancy Patzwahl</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">September 27, 2024</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">/s/Michael W. Wool</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">Director</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">Michael W. Wool</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">September 27, 2024</td></tr>
  </table><div>
</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="margin: 0"></p><div>

</div><!-- Field: Page; Sequence: 35 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->34<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt"><p style="margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="margin: 0"></p><div>

</div><div style="display: none"><ix:header>
<ix:hidden>
<ix:nonFraction contextRef="c3" id="hidden-fact-0" name="us-gaap:IncomeTaxesReceivable" unitRef="usd" xsi:nil="true"/>
<ix:nonFraction contextRef="c4" id="hidden-fact-1" name="esp:DeferredTaxAssetsCurrent" unitRef="usd" xsi:nil="true"/>
<ix:nonFraction contextRef="c4" id="hidden-fact-2" name="us-gaap:TaxesPayableCurrent" unitRef="usd" xsi:nil="true"/>
<ix:nonFraction contextRef="c3" id="hidden-fact-3" name="esp:DeferredTaxLiability" unitRef="usd" xsi:nil="true"/>
<ix:nonFraction contextRef="c3" id="hidden-fact-4" name="us-gaap:CommitmentsAndContingencies" unitRef="usd" xsi:nil="true"/>
<ix:nonFraction contextRef="c4" id="hidden-fact-5" name="us-gaap:CommitmentsAndContingencies" unitRef="usd" xsi:nil="true"/>
<ix:nonFraction contextRef="c3" decimals="2" id="hidden-fact-6" name="us-gaap:CommonStockParOrStatedValuePerShare" unitRef="usdPershares">0.33</ix:nonFraction>
<ix:nonFraction contextRef="c4" decimals="2" id="hidden-fact-7" name="us-gaap:CommonStockParOrStatedValuePerShare" unitRef="usdPershares">0.33</ix:nonFraction>
<ix:nonFraction contextRef="c5" id="hidden-fact-8" name="esp:ProceedsFromGrantAward" unitRef="usd" xsi:nil="true"/>
<ix:nonFraction contextRef="c5" id="hidden-fact-9" name="us-gaap:ProceedsFromRepurchaseOfEquity" unitRef="usd" xsi:nil="true"/>
<ix:nonFraction contextRef="c0" id="hidden-fact-10" name="us-gaap:ImpairmentOfLongLivedAssetsToBeDisposedOf" unitRef="usd" xsi:nil="true"/>
<ix:nonFraction contextRef="c5" id="hidden-fact-11" name="us-gaap:ImpairmentOfLongLivedAssetsToBeDisposedOf" unitRef="usd" xsi:nil="true"/>
<ix:nonFraction contextRef="c50" id="hidden-fact-12" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" unitRef="usd" xsi:nil="true"/>
<ix:nonFraction contextRef="c50" id="hidden-fact-13" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" unitRef="usd" xsi:nil="true"/>
<ix:nonFraction contextRef="c52" id="hidden-fact-14" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" unitRef="usd" xsi:nil="true"/>
<ix:nonFraction contextRef="c53" id="hidden-fact-15" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" unitRef="usd" xsi:nil="true"/>
<ix:nonFraction contextRef="c53" id="hidden-fact-16" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" unitRef="usd" xsi:nil="true"/>
<ix:nonFraction contextRef="c0" id="hidden-fact-17" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" unitRef="pure" xsi:nil="true"/>
<ix:nonFraction contextRef="c5" id="hidden-fact-18" name="esp:EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares" unitRef="pure" xsi:nil="true"/>
<ix:nonFraction contextRef="c4" id="hidden-fact-19" name="us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment" unitRef="usd" xsi:nil="true"/>
<ix:nonFraction contextRef="c4" id="hidden-fact-20" name="esp:DeferredTaxAssetsPensionWithdrawal" unitRef="usd" xsi:nil="true"/>
<ix:nonFraction contextRef="c3" id="hidden-fact-21" name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" unitRef="usd" xsi:nil="true"/>
<ix:nonFraction contextRef="c92" id="hidden-fact-22" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" unitRef="usd" xsi:nil="true"/>
<ix:nonNumeric contextRef="c83" id="hidden-fact-23" name="esp:PercentageOfTotalNumberOfSharesSubjectToOptionsOrAwardsSingleFiscalYear">33 1/3 %</ix:nonNumeric>
<ix:nonFraction contextRef="c5" id="hidden-fact-24" name="us-gaap:WeightedAverageNumberOfSharesIssuedBasic" unitRef="shares" xsi:nil="true"/>
<ix:nonFraction contextRef="c5" id="hidden-fact-25" name="us-gaap:WeightedAverageNumberOfSharesCommonStockSubjectToRepurchaseOrCancellation" unitRef="shares" xsi:nil="true"/>
<ix:nonNumeric contextRef="c0" name="dei:AmendmentFlag" id="ixv-7383">false</ix:nonNumeric>
<ix:nonNumeric contextRef="c0" name="dei:DocumentFiscalPeriodFocus" id="ixv-7384">FY</ix:nonNumeric>
<ix:nonNumeric contextRef="c0" name="dei:EntityCentralIndexKey" id="ixv-7385">0000033533</ix:nonNumeric>
</ix:hidden>
<ix:references><link:schemaRef xlink:href="esp-20240630.xsd" xlink:type="simple"/></ix:references>
<ix:resources xmlns="http://www.xbrl.org/2003/instance"><xbrli:context xmlns="" id="c0">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-07-01</xbrli:startDate>
    <xbrli:endDate>2024-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c1">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c2">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-09-24</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c3">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c4">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c5">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-07-01</xbrli:startDate>
    <xbrli:endDate>2023-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c6">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c7">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c8">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c9">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c10">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c11">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">esp:UnearnedESOPSharesMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c12">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c13">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-07-01</xbrli:startDate>
    <xbrli:endDate>2023-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c14">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-07-01</xbrli:startDate>
    <xbrli:endDate>2023-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c15">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-07-01</xbrli:startDate>
    <xbrli:endDate>2023-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c16">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">esp:UnearnedESOPSharesMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-07-01</xbrli:startDate>
    <xbrli:endDate>2023-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c17">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c18">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c19">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c20">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c21">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c22">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">esp:UnearnedESOPSharesMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c23">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-07-01</xbrli:startDate>
    <xbrli:endDate>2024-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c24">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-07-01</xbrli:startDate>
    <xbrli:endDate>2024-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c25">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-07-01</xbrli:startDate>
    <xbrli:endDate>2024-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c26">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-07-01</xbrli:startDate>
    <xbrli:endDate>2024-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c27">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-07-01</xbrli:startDate>
    <xbrli:endDate>2024-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c28">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">esp:UnearnedESOPSharesMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-07-01</xbrli:startDate>
    <xbrli:endDate>2024-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c29">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c30">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c31">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c32">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c33">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c34">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">esp:UnearnedESOPSharesMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c35">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-07-01</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c36">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-07-01</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c37">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingImprovementsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c38">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingImprovementsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c39">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c40">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c41">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c42">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c43">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">esp:UnitsDeliveredMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">esp:ASC606Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-07-01</xbrli:startDate>
    <xbrli:endDate>2024-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c44">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">esp:UnitsDeliveredMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">esp:ASC606Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-07-01</xbrli:startDate>
    <xbrli:endDate>2023-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c45">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">esp:MilestonesAchievedMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">esp:ASC606Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-07-01</xbrli:startDate>
    <xbrli:endDate>2024-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c46">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">esp:MilestonesAchievedMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">esp:ASC606Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-07-01</xbrli:startDate>
    <xbrli:endDate>2023-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c47">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">esp:ASC606Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c48">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">esp:ASC606Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c49">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">esp:ASC606Member</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c50">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c51">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c52">
<!-- [WMV6][XcpuxYn59dz7vgYynUDuwG7r97K2jUTysl7vcz0lJt/tSeJz73kx1cLt0ZFF2SK/vxBCY0vdSrYnt/FcukLonGvrL5wMA+ofwaqo4qMNOuQCZ4f5MsVOmOOAhEIki8WPj8IecsZEAIH93EFFuU1YNbJ9bq3A8pyccr+4dZb24Xm8ri5fUWvN9D2QbwLnSGEeGM9LkmeBq6kmBc6qbz0KTLZS42R+z5T+TvRKf196x1U02PcpSpWyFI0XkFnk2J6etumKnTtqhgnHWd8y9A65nb4JJN+PiV09Lp6c5W1Ly5m9v2l1EL6G94olFSBfy2KEUvtYkT/OwL5q2QGGBBGElVyHueVHZUkN] CSR-->
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryBillSecuritiesMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c53">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c54">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c55">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryBillSecuritiesMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c56">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-07-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c57">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:PropertyPlantAndEquipmentMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c58">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:PropertyPlantAndEquipmentMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c59">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c60">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c61">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandBuildingsAndImprovementsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c62">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandBuildingsAndImprovementsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c63">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c64">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c65">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c66">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c67">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-07-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c68">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-07-01</xbrli:startDate>
    <xbrli:endDate>2024-07-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c69">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">esp:USFederalAndStateMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-07-01</xbrli:startDate>
    <xbrli:endDate>2024-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c70">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">esp:USFederalAndStateMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-07-01</xbrli:startDate>
    <xbrli:endDate>2023-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c71">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:FiveCustomersMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-07-01</xbrli:startDate>
    <xbrli:endDate>2024-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c72">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:FiveCustomersMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-07-01</xbrli:startDate>
    <xbrli:endDate>2023-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c73">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:FiveCustomersMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-07-01</xbrli:startDate>
    <xbrli:endDate>2024-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c74">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:FiveCustomersMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-07-01</xbrli:startDate>
    <xbrli:endDate>2023-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c75">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis">esp:EmployeeStockOwnershipPlanMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-07-01</xbrli:startDate>
    <xbrli:endDate>2024-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c76">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis">esp:EmployeeStockOwnershipPlanMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c77">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis">esp:EmployeeStockOwnershipPlanMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-07-01</xbrli:startDate>
    <xbrli:endDate>2023-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c78">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">esp:NonQualifiedStockOptionsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-07-01</xbrli:startDate>
    <xbrli:endDate>2024-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c79">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">esp:NonQualifiedStockOptionsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-07-01</xbrli:startDate>
    <xbrli:endDate>2023-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c80">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">esp:IncentiveStockOptionMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c81">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">esp:NonQualifiedStockOptionsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c82">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">esp:NonEmployeeDirectorsMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">esp:TwoThousandSeventeenPlanMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-07-01</xbrli:startDate>
    <xbrli:endDate>2024-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c83">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">esp:NonEmployeeDirectorsMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">esp:TwoThousandSeventeenPlanMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-07-01</xbrli:startDate>
    <xbrli:endDate>2024-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c84">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">esp:IndividualEmployeeMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">esp:TwoThousandSeventeenPlanMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-07-01</xbrli:startDate>
    <xbrli:endDate>2024-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c85">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">esp:TwoThousandSeventeenPlanMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-07-01</xbrli:startDate>
    <xbrli:endDate>2024-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c86">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">esp:TwoThousandSeventeenPlanMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c87">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">esp:TwoThousandSeventeenPlanMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-07-01</xbrli:startDate>
    <xbrli:endDate>2024-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c88">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">esp:TwoThousandSeventeenPlanMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c89">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">esp:TwoThousandSeventeenPlanMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c90">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">esp:RestrictedStockPlanMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">esp:TwoThousandSevenPlanMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-07-01</xbrli:startDate>
    <xbrli:endDate>2024-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c91">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">esp:NonQualifiedStockOptionsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c92">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockOptionMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c93">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockOptionMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-06-30</xbrli:startDate>
    <xbrli:endDate>2023-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c94">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockOptionMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-07-01</xbrli:startDate>
    <xbrli:endDate>2024-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c95">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockOptionMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c96">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-07-01</xbrli:startDate>
    <xbrli:endDate>2023-09-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c97">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-10-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c98">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-03-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c99">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-04-01</xbrli:startDate>
    <xbrli:endDate>2024-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c100">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-07-01</xbrli:startDate>
    <xbrli:endDate>2022-09-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c101">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-10-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c102">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-03-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c103">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000033533</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-04-01</xbrli:startDate>
    <xbrli:endDate>2023-06-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:unit xmlns="" id="usd">
  <xbrli:measure>iso4217:USD</xbrli:measure>
</xbrli:unit><xbrli:unit xmlns="" id="shares">
  <xbrli:measure>xbrli:shares</xbrli:measure>
</xbrli:unit><xbrli:unit xmlns="" id="usdPershares">
  <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 xmlns="" id="pure">
  <xbrli:measure>xbrli:pure</xbrli:measure>
</xbrli:unit></ix:resources></ix:header>

</div></div></body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-19.1
<SEQUENCE>2
<FILENAME>ex19-1.htm
<DESCRIPTION>EX-19.1
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><FONT STYLE="text-transform: uppercase">Exhibit
19.1</FONT></P>

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

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Espey Mfg. &amp; Electronics Policy on Insider
Trading</P>

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

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">(<I>Revised March 8, 2024</I>)</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">This Insider Trading Policy describes the standards
of Espey Mfg. &amp; Electronics Corp. (the &quot;<B>Company</B>&quot;) on trading, and causing the trading of, the Company's securities
or securities of certain other publicly traded companies while in possession of confidential information. This Policy applies to all directors,
officers and employees of the Company and their immediate family members (<B>&ldquo;Covered Persons&rdquo;</B>). Executive officers, directors
(collectively, &ldquo;<B>Company Insiders</B>&rdquo;), and certain other employees that the Company may designate from time to time as
&ldquo;Company Insiders&rdquo; because of their position, responsibilities or their actual or potential access to material information,
are subject to prohibited transactions set forth in Section 7 below.</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">The federal securities laws prohibit so-called
&quot;insider trading.&quot; Simply stated, insider trading occurs when a person uses material nonpublic information obtained through
involvement with the Company to make decisions to purchase, sell, give away or otherwise trade the Company's securities or to provide
that information to others outside the Company. The prohibitions against insider trading apply to trades, tips and recommendations by
virtually any person, including all persons associated with the Company, if the information involved is &quot;material&quot; and &quot;nonpublic.&quot;
These terms are defined in this Policy in Section 3 below. The prohibitions would apply to any Covered Person who buys or sells Company
stock on the basis of material nonpublic information that he or she obtained about the Company, its customers, suppliers, or other companies
with which the Company has contractual relationships or may be negotiating transactions.</P>

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

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

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: left">1. Applicability</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">This Policy applies to all trading or other transactions
in the Company's securities, including common stock, options and any other securities that the Company may issue, such as preferred stock,
notes, bonds and convertible securities, as well as to derivative securities relating to any of the Company's securities, whether or not
issued by the Company.</P>

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

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: left">2. General Policy: No Trading or Causing Trading
While in Possession of Material Nonpublic Information</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in"><B>(a) </B>No Covered Person may purchase or sell,
or offer to purchase or sell, any Company security, whether or not issued by the Company, while in possession of material nonpublic information
about the Company. (The terms &quot;material&quot; and &quot;nonpublic&quot; are defined in Section 3(a) and (b) below.)</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in"><B>(b) </B>No Covered Person who knows of any material
nonpublic information about the Company may communicate that information to (&quot;<B>tip</B>&quot;) any other person, including family
members and friends, or otherwise disclose such information without the Company&rsquo;s authorization.</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in"><B>(c) </B>No Covered Person may purchase or sell
any security of any other company, whether or not issued by the Company, while in possession of material nonpublic information about that
company that was obtained in the course of his or her involvement with the Company. No Covered Person who knows of any such material nonpublic
information may communicate that information to, or tip, any other person, including family members and friends, or otherwise disclose
such information without the Company's authorization.</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in"><B>(d) </B>Company Insiders may buy, sell, donate
or otherwise transact business in any Company securities only while the Company&rsquo;s trading window is open. The Company&rsquo;s trading
window opens the third full trading day following the Company&rsquo;s public announcements of quarterly earnings, and remains open through
six weeks thereafter.</P>

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

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: left">3. Definitions</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in"><B>(a) Material.</B> Insider trading restrictions
come into play only if the information you possess is &quot;material.&quot; Materiality, however, involves a relatively low threshold.
Information is generally regarded as &quot;material&quot; if it has market significance, that is, if its public dissemination is likely
to affect the market price of securities, or if it otherwise is information that a reasonable investor would want to know before making
an investment decision.</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">Information dealing with the following subjects
is reasonably likely to be found material in particular situations:</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in">(i) significant changes in the Company's prospects;</P>

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

<!-- Field: Page; Sequence: 1; Options: NewSection; Value: 35 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->35<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in">(ii) significant write-downs in assets or increases in reserves;</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in">(iii) developments regarding significant litigation or government
agency investigations;</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in">(iv) liquidity problems;</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in">(v) changes in earnings estimates or unusual gains or losses
in major operations;</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in">(vi) major changes in the Company's management or the board
of directors;</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in">(vii) changes in dividends;</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in">(viii) extraordinary borrowings;</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in">(ix) major changes in accounting methods or policies;</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in">(x) award or loss of a significant contract;</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in">(xi) cybersecurity risks and incidents, including vulnerabilities
and breaches;</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in">(xii) changes in debt ratings;</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in">(xiii) proposals, plans or agreements, even if preliminary
in nature, involving mergers, acquisitions, divestitures, recapitalizations, strategic alliances, licensing arrangements, or purchases
or sales of substantial assets; and</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in">(xiv) offerings of Company securities.</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">Material information is not limited to historical
facts but may also include projections and forecasts. With respect to a future event, such as a merger, acquisition or introduction of
a new product, the point at which negotiations or product development are determined to be material is determined by balancing the probability
that the event will occur against the magnitude of the effect the event would have on a company's operations or stock price should it
occur. Thus, information concerning an event that would have a large effect on stock price, such as a merger, may be material even if
the possibility that the event will occur is relatively small. When in doubt about whether particular nonpublic information is material,
you should presume it is material. <B>If you are unsure whether information is material, you should either consult with counsel before
making any decision to disclose such information (other than to persons who need to know it) or to trade in or recommend securities to
which that information relates or assume that the information is material. When in doubt, err on the side of caution and do not trade.</B></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in"><B>(b) Nonpublic.</B> Insider trading prohibitions
come into play only when you possess information that is material and &quot;nonpublic.&quot; The fact that information has been disclosed
to a few members of the public does not make it public for insider trading purposes. To be &quot;public&quot; the information must have
been disseminated in a manner designed to reach investors generally, and the investors must be given the opportunity to absorb the information.
Even after public disclosure of information about the Company, you must wait until the close of business on the second trading day after
the day the information was publicly disclosed before you can treat the information as public.</P>

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

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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in">(i) information available to a select group of analysts or
brokers or institutional investors;</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in">(ii) undisclosed facts that are the subject of rumors, even
if the rumors are widely circulated; and</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in">(iii) information that has been entrusted to the Company
on a confidential basis until a public announcement of the information has been made and enough time has elapsed for the market to respond
to a public announcement of the information (normally two trading days).</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 31.5pt"><B>As with questions of materiality, if you are
not sure whether information is considered public, you should either consult with counsel or assume that the information is nonpublic
and treat it as confidential.</B></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in"><B>(c) Compliance Officer.</B> The Company has
appointed the Director of Human Resources as the Compliance Officer for this Policy. The duties of the Compliance Officer include, but
are not limited to, the following:</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in">(i) assisting with implementation and enforcement of this
Policy;</P>

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

<!-- Field: Page; Sequence: 2; Value: 35 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->36<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in">(ii) circulating this Policy to all employees and ensuring
that this Policy is amended as necessary to remain up-to-date with insider trading laws; and</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in">(iii) providing a reporting system with an effective whistleblower
protection mechanism.</P>

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

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

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: left">4. Exceptions</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">The trading restrictions of paragraph 2 do not
apply to the following:</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in"><B>(a) Options.</B> The exercise of stock options
for cash and cashless exercise of stock options through a broker (but the restrictions of paragraph 2 do apply to the sale of the underlying
shares of stock and may, therefore, limit the ability to do a cashless exercise); and</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in"><B>(b) Rule 10b5-1 Plans. </B><FONT STYLE="font-family: Times New Roman, Times, Serif; font-weight: normal; vertical-align: baseline">Purchases
or sales made pursuant to a Rule 10b5-1 plan.</FONT></P>

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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; vertical-align: baseline"><B>5.</B></FONT><B>
Violations of Insider Trading Laws</B></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">Penalties for trading on or communicating material
nonpublic information can be severe, both for individuals involved in such unlawful conduct and their employers and supervisors, and may
include jail terms, criminal fines, civil penalties and civil enforcement injunctions. Given the severity of the potential penalties,
compliance with this Policy is absolutely mandatory.</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in"><B>(a) Legal Penalties.</B> Pursuant to federal
and state securities laws, Covered Persons may be subject to criminal and civil fines and penalties as well as imprisonment for engaging
in transactions in the Company&rsquo;s securities in violation of applicable securities laws and regulations at a time when they have
knowledge of &ldquo;material, non-public information&rdquo; regarding the Company. Covered Persons may also be liable for improper transactions
by any person to whom they have disclosed &ldquo;material non-public information&rdquo; regarding the Company or to whom they have made
recommendations or expressed opinions on the basis of such information as to trading in the Company&rsquo;s securities. There is no requirement
that the person disclosing the information have profited from the disclosure in order to be found liable.</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in"><B>(b) Company-Imposed Penalties.</B> Employees
who violate this Policy may be subject to disciplinary action by the Company, including dismissal for cause, or the determination of ineligibility
for the future participation in the Company&rsquo;s award of stock options. Company Insiders, who are not employees, who violate this
Policy may be subject to removal from their positions and ineligibility for the future participation in the Company&rsquo;s award of stock
options.</P>

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

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

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: left">6. Inquiries</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">If you have any questions regarding any of the
provisions of this Policy, please contact the Compliance Officer</P>

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

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

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: left">7. Prohibited Transactions</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">Company Insiders, including any person's spouse,
other persons living in such person's household and minor children and entities over which such person exercises control, are prohibited
from engaging in the following transactions in the Company's securities:</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in"><B>(i) <U>Short sales.</U></B> Insiders may not sell the
Company's securities short;</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in"><B>(ii) <U>Options trading.</U></B> Insiders may not buy
or sell puts or calls or other derivative securities on the Company's securities;</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in">(iii) <U>Trading Incidental to Share Repurchase Plan Announcements.</U>
Insiders may not buy, sell, donate or otherwise transact business in Company securities within four trading days before or after the Company&rsquo;s
public announcement of a repurchase plan with respect to such Company securities or the announcement of an increase in the number of securities
subject to a repurchase plan.</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in">(iv) <U>Trading on margin or pledging.</U> Insiders may not
hold Company securities in a margin account or pledge Company securities as collateral for a loan; and</P>

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

<!-- Field: Page; Sequence: 3; Value: 35 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->37<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in"><B>(v) <U>Hedging.</U></B> Insiders may not enter into hedging
or monetization transactions or similar arrangements with respect to Company securities.</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">Company Insiders may be liable to the Company
under Section 16(b) of the Securities Exchange Act of 1934, as amended, for any &ldquo;profit&rdquo; realized as a result of any purchase
followed by a sale, or sale followed by a purchase, of the Company&rsquo;s securities within any period of less than six months. Before
engaging in any transaction in the Company&rsquo;s securities, a Company Insider should carefully consider whether he or she has made
any other transaction during the preceding six months and, if so, whether such transactions would result in profits recoverable under
Section 16(b).</P>

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

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

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: left">8. Acknowledgment and Certification</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">The Company may require that all Covered Persons
be required to sign the attached acknowledgment and certification.</P>

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

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

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: left">ACKNOWLEDGMENT AND CERTIFICATION</P>

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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">The undersigned does hereby acknowledge receipt
of the Company's Insider Trading Policy. The undersigned has read and understands (or has had explained) such Policy and agrees to be
governed by such Policy at all times in connection with the purchase and sale of securities and the confidentiality of nonpublic information.</P>

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 50%; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="width: 50%">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">__________________________________</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">(Signature)</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">__________________________________</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">(Please print name)</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="font-size: 10pt">Date: ________________________</TD>
    <TD STYLE="font-size: 10pt">&nbsp;</TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><I>&nbsp;</I></P>

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

<!-- Field: Page; Sequence: 4 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->38<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

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

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.1
<SEQUENCE>3
<FILENAME>ex23-1.htm
<DESCRIPTION>EX-23.1
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">ESPEY MFG. &amp; ELECTRONICS CORP.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Consent of Freed Maxick CPAs, P.C.</P>

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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">CONSENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING
FIRM</P>

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

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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Espey Mfg. &amp; Electronics Corp.</P>

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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We hereby consent to the incorporation by reference
in the Registration Statements on Form S-8 (No. 333-148678, and 333-221891) pertaining to the 2007 and 2017 Stock Option Plans of Espey
Mfg. &amp; Electronics Corp. of our report dated September 27, 2024, with respect to the financial statements of Espey Mfg. &amp; Electronics
Corp. included in its Annual Report (Form 10-K) for the year ended June 30, 2024, filed with the Securities and Exchange Commission.</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">/s/Freed Maxick CPAs, P.C.</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">September 27, 2024</P>

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

<P STYLE="margin: 0">&nbsp;</P>

<!-- Field: Page; Sequence: 1; Options: NewSection; Value: 39 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->39<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="margin: 0"></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>4
<FILENAME>ex31-1.htm
<DESCRIPTION>EX-31.1
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><FONT STYLE="text-transform: uppercase">Exhibit</FONT>
31.1</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 2.25in; text-align: center; text-indent: -2.25in">Certification
of the Chief Executive Officer</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 2.25in; text-align: center; text-indent: -2.25in">Pursuant to Rules
13a-14(a) and 15d-14(a) under the Securities Exchange Act of 1934,</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 2.25in; text-align: center; text-indent: -2.25in">as adopted pursuant
to Section 302 of the Sarbanes-Oxley Act of 2002</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">I, David O&rsquo;Neil, certify that:</P>

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

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.25in">1.</TD><TD STYLE="text-align: justify">I have reviewed this annual report on Form 10-K of Espey Mfg. &amp; Electronics Corp;</TD></TR></TABLE>

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

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.25in">2.</TD><TD STYLE="text-align: justify">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;</TD></TR></TABLE>

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

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.25in">3.</TD><TD STYLE="text-align: justify">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;</TD></TR></TABLE>

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

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.25in">4.</TD><TD STYLE="text-align: justify">The registrant&rsquo;s other certifying officer and I are responsible for establishing and maintaining
disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15(d)-15(e)) and internal control over financial reporting
(as defined in Exchange Act Rules 13a-15(f) and 15(d)-15(f)) for the registrant and have:</TD></TR></TABLE>

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

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 18pt"></TD><TD STYLE="width: 22.5pt">(a)</TD><TD STYLE="text-align: justify">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 is made known to us by others within
those entities, particularly during the period in which this report is being prepared;</TD></TR></TABLE>

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

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 18pt"></TD><TD STYLE="width: 22.5pt">(b)</TD><TD STYLE="text-align: justify">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;</TD></TR></TABLE>

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

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 18pt"></TD><TD STYLE="width: 22.5pt">(c)</TD><TD STYLE="text-align: justify">Evaluated the effectiveness of the registrant&rsquo;s disclosure controls and procedures and presented
in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered
by this report based on such evaluation; and</TD></TR></TABLE>

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

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 18pt"></TD><TD STYLE="width: 22.5pt">(d)</TD><TD STYLE="text-align: justify">Disclosed in this report any change in the registrant&rsquo;s internal control over financial reporting
that occurred during the registrant&rsquo;s most recent fiscal quarter (the registrant's fourth fiscal quarter in the case of an annual
report) that has materially affected, or is reasonably likely to materially affect, the registrant&rsquo;s internal control over financial
reporting; and</TD></TR></TABLE>

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

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0pt"></TD><TD STYLE="width: 18pt">5.</TD><TD STYLE="text-align: justify">The registrant&rsquo;s other certifying officer and I have disclosed, based on our most recent evaluation
of internal control over financial reporting, to the registrant&rsquo;s auditors and the audit committee of registrant&rsquo;s board of
directors (or persons performing the equivalent functions):</TD></TR></TABLE>

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

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 18pt"></TD><TD STYLE="width: 22.5pt">(a)</TD><TD STYLE="text-align: justify">All significant deficiencies and material weaknesses in the design or operation of internal control over
financial reporting which are reasonably likely to adversely affect the registrant&rsquo;s ability to record, process, summarize and report
financial information; and</TD></TR></TABLE>

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

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 18pt"></TD><TD STYLE="width: 22.5pt">(b)</TD><TD STYLE="text-align: justify">Any fraud, whether or not material, that involves management or other employees who have a significant
role in the registrant&rsquo;s internal control over financial reporting.</TD></TR></TABLE>

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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Date: September 27, 2024</P>

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 3in">/s/David O&rsquo;Neil</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD>David O&rsquo;Neil</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD>President and Chief Executive Officer</TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<!-- Field: Page; Sequence: 1; Options: NewSection; Value: 40 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->40<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

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

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>5
<FILENAME>ex31-2.htm
<DESCRIPTION>EX-31.2
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><FONT STYLE="text-transform: uppercase">Exhibit</FONT>
31.2</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Certification of the Principal Financial Officer</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Pursuant to Rules 13a-14(a) and 15d-14(a) under
the Securities Exchange Act of 1934,</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">as adopted pursuant to Section 302 of the Sarbanes-Oxley
Act of 2002</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">I, Katrina Sparano, certify that:</P>

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

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.25in">1.</TD><TD STYLE="text-align: justify">I have reviewed this annual report on Form 10-K of Espey Mfg. &amp; Electronics Corp;</TD></TR></TABLE>

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

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.25in">2.</TD><TD STYLE="text-align: justify">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;</TD></TR></TABLE>

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

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.25in">3.</TD><TD STYLE="text-align: justify">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;</TD></TR></TABLE>

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

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 0.25in">4.</TD><TD STYLE="text-align: justify">The registrant&rsquo;s other certifying officer and I are responsible for establishing and maintaining
disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15(d)-15(e)) and internal control over financial reporting
(as defined in Exchange Act Rules 13a-15(f) and 15(d)-15(f)) for the registrant and have:</TD></TR></TABLE>

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

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 18pt"></TD><TD STYLE="width: 22.5pt">(a)</TD><TD STYLE="text-align: justify">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 is made known to us by others within
those entities, particularly during the period in which this report is being prepared;</TD></TR></TABLE>

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

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 18pt"></TD><TD STYLE="width: 22.5pt">(b)</TD><TD STYLE="text-align: justify">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;</TD></TR></TABLE>

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

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 18pt"></TD><TD STYLE="width: 22.5pt">(c)</TD><TD STYLE="text-align: justify">Evaluated the effectiveness of the registrant&rsquo;s disclosure controls and procedures and presented
in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered
by this report based on such evaluation; and</TD></TR></TABLE>

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

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 18pt"></TD><TD STYLE="width: 22.5pt">(d)</TD><TD STYLE="text-align: justify">Disclosed in this report any change in the registrant&rsquo;s internal control over financial reporting
that occurred during the registrant&rsquo;s most recent fiscal quarter (the registrant's fourth fiscal quarter in the case of an annual
report) that has materially affected, or is reasonably likely to materially affect, the registrant&rsquo;s internal control over financial
reporting; and</TD></TR></TABLE>

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

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

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

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 18pt"></TD><TD STYLE="width: 22.5pt">(a)</TD><TD STYLE="text-align: justify">All significant deficiencies and material weaknesses in the design or operation of internal control over
financial reporting which are reasonably likely to adversely affect the registrant&rsquo;s ability to record, process, summarize and report
financial information; and</TD></TR></TABLE>

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

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 18pt"></TD><TD STYLE="width: 22.5pt">(b)</TD><TD STYLE="text-align: justify">Any fraud, whether or not material, that involves management or other employees who have a significant
role in the registrant&rsquo;s internal control over financial reporting.</TD></TR></TABLE>

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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Date: September 27, 2024</P>

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; width: 3in">/s/Katrina Sparano</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD>Katrina Sparano</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD>Principal Financial Officer</TD></TR>
  </TABLE>

<P STYLE="margin: 0">&nbsp;</P>

<!-- Field: Page; Sequence: 1; Options: NewSection; Value: 41 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->41<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="margin: 0"></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>6
<FILENAME>ex32-1.htm
<DESCRIPTION>EX-32.1
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><FONT STYLE="text-transform: uppercase">Exhibit</FONT>
32.1</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Certification of the Chief Executive Officer pursuant
to 18 U.S.C. Section 1350,</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">as adopted pursuant to Section 906 of the Sarbanes-Oxley
Act of 2002</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In connection with this annual report of Espey
Mfg. &amp; Electronics Corp. (the &quot;Company&quot;) on Form 10-K for the period ended June 30, 2024 as filed with the Securities and
Exchange Commission on the date hereof (the &ldquo;report&rdquo;), I, David O&rsquo;Neil, 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: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in">1.</TD><TD>The report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and</TD></TR></TABLE>

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

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in">2.</TD><TD>The information contained in this report fairly presents, in all material respects, the financial condition and results of operations
of the Company.</TD></TR></TABLE>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Date: September 27, 2024</P>

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

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; width: 3in">/s/David O&rsquo;Neil</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD>David O&rsquo;Neil</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD>President and Chief Executive Officer</TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<!-- Field: Page; Sequence: 1; Options: NewSection; Value: 42 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->42<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

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

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.2
<SEQUENCE>7
<FILENAME>ex32-2.htm
<DESCRIPTION>EX-32.2
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><FONT STYLE="text-transform: uppercase">Exhibit
</FONT>32.2</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Certification of the Principal Financial Officer
pursuant to 18 U.S.C. Section 1350,</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">as adopted pursuant to Section 906 of the Sarbanes-Oxley
Act of 2002</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In connection with this annual report of Espey
Mfg. &amp; Electronics Corp. (the &quot;Company&quot;) on Form 10-K for the period ended June 30, 2024 as filed with the Securities and
Exchange Commission on the date hereof (the &ldquo;report&rdquo;), I, Katrina Sparano, Principal Financial 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: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in">1.</TD><TD>The report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and</TD></TR></TABLE>

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

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in">2.</TD><TD>The information contained in this report fairly presents, in all material respects, the financial condition and results of operations
of the Company.</TD></TR></TABLE>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Date: September 27, 2024</P>

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

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; width: 3in">/s/Katrina Sparano</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD>Katrina Sparano</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD>Principal Financial Officer</TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<!-- Field: Page; Sequence: 1; Options: NewSection; Value: 43 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->43<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

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

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-97.1
<SEQUENCE>8
<FILENAME>ex97-1.htm
<DESCRIPTION>EX-97.1
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><FONT STYLE="text-transform: uppercase">Exhibit
97.1</FONT></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>ESPEY MFG. &amp; ELECTRONICS CORP.</B></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>Incentive Compensation Recovery Policy</B></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><I>Adopted December 1, 2023 (the &ldquo;Effective
Date&rdquo;)</I></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">This Incentive Compensation Recovery Policy (the
&ldquo;Policy&rdquo;) is adopted by the Board of Directors of Espey Mfg. &amp; Electronics Corp., a New York corporation (the &ldquo;Company&rdquo;)
in accordance with (i) Rule 10D-1 under Section 10D of the Securities Exchange Act of 1934, as amended (the &ldquo;Exchange Act&rdquo;)
and (ii) Section 811 of the NYSE American (the &ldquo;Exchange&rdquo;) LLC Company Guide.</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">This Policy applies to Incentive-Based Compensation
Received by current and former Executive Officers (<I>as defined below</I>), as determined by the Board of Directors in accordance with
Section 10D of the Exchange Act and the Exchange&rsquo;s Listed Company Manual.</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">This Policy will be administered by the Board of
Directors or, if so designated by the Board of Directors, the Compensation Committee (the &ldquo;Committee&rdquo;), in which case references
to the Board of Directors shall mean the Compensation Committee.</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">This Policy provides for the recoupment of certain
executive compensation in the event of an accounting restatement resulting from material noncompliance with financial reporting requirements
under the federal securities laws. This Policy will apply only to Incentive-Based Compensation Received by a person (i) on or after October
2, 2023 and (ii) after the person became an Executive Officer.</P>

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

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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">For purposes of this Policy, the following defined
terms shall have the respective meanings set forth below:</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">&ldquo;Commission&rdquo; means the United States
Securities and Exchange Commission.</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">&ldquo;Executive Officer&rdquo; means the Company&rsquo;s
chief executive officer, president, principal financial officer, principal accounting officer, any executive vice president, any other
officer who performs a policy-making function, and shall include any person who is identified by the Company as an executive officer pursuant
to 17 CFR 240.16a-1(f) in the Issuer&rsquo;s filings with the Commission.</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">&ldquo;Financial Reporting Measures&rdquo; mean
measures that are determined and presented in accordance with the accounting principles used in preparing the Company&rsquo;s financial
statements, and any measures that are derived wholly or in part from such measures, such as:</P>

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

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.25in"></TD><TD STYLE="width: 0.25in">(i)</TD><TD>Company stock price.</TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.25in"></TD><TD STYLE="width: 0.25in">(ii)</TD><TD>Total shareholder return.</TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.25in"></TD><TD STYLE="width: 0.25in">(iii)</TD><TD>Revenues.</TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.25in"></TD><TD STYLE="width: 0.25in">(iv)</TD><TD>Net income.</TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.25in"></TD><TD STYLE="width: 0.25in">(v)</TD><TD>Earnings before interest, taxes, depreciation, and amortization (EBITDA).</TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.25in"></TD><TD STYLE="width: 0.25in">(vi)</TD><TD>Funds from operations.</TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.25in"></TD><TD STYLE="width: 0.25in">(vii)</TD><TD>Liquidity measures such as working capital or operating cash flow.</TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.25in"></TD><TD STYLE="width: 0.25in">(viii)</TD><TD>Return measures such as return on invested capital or return on assets.</TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.25in"></TD><TD STYLE="width: 0.25in">(ix)</TD><TD><FONT STYLE="font-size: 10pt">Earnings measures such as earnings per share.</FONT></TD></TR></TABLE>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">A financial reporting measure need not be presented
within the financial statements or included in a filing with the Commission.</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">&ldquo;Incentive-Based Compensation&rdquo; means
any compensation that is granted, earned, or vested based wholly or in part upon the attainment of a financial reporting measure and includes,
without limitation, annual bonuses, stock options, stock appreciation rights, restricted stock.</P>

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

<!-- Field: Page; Sequence: 1; Options: NewSection; Value: 44 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->44<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">&ldquo;Received&rdquo; means the deemed receipt
of any incentive-based compensation, by an Executive Officer in the Company&rsquo;s fiscal period, during which the Financial Reporting
Measure specified in the Incentive-Based Compensation award is attained, even if the payment or grant of the Incentive-Based Compensation
occurs after the end of the period.</P>

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

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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">If the Company is required to prepare an accounting
restatement of its financial statements filed with the Commission due to the Company&rsquo;s material non-compliance with any financial
reporting requirement under securities laws, the Company will require reimbursement or forfeiture of any excess Incentive-Based Compensation
Received by an Executive Officer during the three completed fiscal years immediately preceding the date on which the Company is required
to prepare an accounting restatement to the extent that:</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 1in">(i)<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT>the payment, grant or vesting of such Incentive-Based Compensation was based on the achievement of Financial Reporting Measures
that are the subject of the restatement of the Company&rsquo;s financial statements, and</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 1in">(ii)<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT>the amount of the compensation Received by the Executive Officer (on a pre-tax basis) is greater than the amount of Incentive-Based
Compensation that would have been Received by applying the recalculated financial reporting measure, based on:</P>

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

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 1in"></TD><TD STYLE="width: 0.25in">(a)</TD><TD>the originally calculated Financial Reporting Measure; and</TD></TR></TABLE>

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

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 1in"></TD><TD STYLE="width: 0.25in">(b)</TD><TD>any discretion that the Committee applied to reduce the amount originally Received.</TD></TR></TABLE>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">If the Incentive-Based Compensation is based on
the Company&rsquo;s stock price or total shareholder return and the amount of erroneously awarded compensation is not subject to mathematical
recalculation directly from information in an accounting restatement:</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 1in">(A) the amount must be based on a reasonable estimate
of the effect of the accounting restatement on the stock price or total shareholder return upon which the Incentive-Based Compensation
was Received; and</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 1in">(B) the Company must maintain documentation of the
determination of that reasonable estimate and provide such documentation to the Exchange, if requested.</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">If the Board cannot determine the amount of excess
Incentive-Based Compensation Received by the Executive Officer directly from the information in the accounting restatement, then it will
make its determination based on a reasonable estimate of the effect of the accounting restatement.</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">The Board will determine, in its sole discretion,
the method for recouping the excess Incentive-Based Compensation hereunder which may include, without limitation:</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 1in">(i) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
requiring reimbursement of cash previously paid, which may include a payment plan;</P>



<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 1in">(ii)<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT>offsetting the recouped amount from any compensation otherwise owed by the Company to the Executive Officer;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 1in">(iii)<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT>cancelling outstanding vested or unvested equity awards; or</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 1in">(iv)<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT>taking any other remedial and recovery action permitted by law, as determined by the Board.</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">For purposes of determining the applicable recovery
period, the date that the Company is required to prepare an accounting restatement is the earliest to occur of:</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 1in">(A) the date the Company&rsquo;s Board of Directors,
Audit Committee, or principal financial officer concludes, or reasonably should have concluded, the Company is required to prepare an
accounting restatement; or</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 1in">(B) the date a court, regulator, or other legally
authorized body directs the Company to prepare an accounting restatement.</P>

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

<!-- Field: Page; Sequence: 2; Value: 44 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->45<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">In addition, if the Board of Directors determines
(a) that an Executive Officer&rsquo;s gross negligence, fraud, or intentional misconduct, caused or contributed to the need for a restatement
or (b) that the Executive Officer&rsquo;s fraud or intentional misconduct has a negative impact on the Company&rsquo;s financial condition
or results in serious reputational harm to the Company, then in addition to the recovery of erroneously paid Incentive-Based Compensation,
the Executive Officer shall, to the extent directed by the Board of Directors, to the extent permitted by law, repay the amount of any
gains realized upon the exercise of any equity-based awards during (i) the three year period following the publication of the financial
statements that were subsequently restated and (ii) in the case of fraud or misconduct, the period beginning three years before the occurrence
of the fraud or misconduct through the date that such fraud or misconduct was discovered.</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">The Board of Directors shall have full authority
to make all determinations under this Policy, including without limitation whether the Policy applies and, if so, the amount of the compensation
to be repaid by the Executive Officers, as applicable. The Board of Directors may determine that it is impracticable to pursue the recovery
of erroneously awarded compensation in accordance with Rule 10D-1 and the listing standards of the NYSE.</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">For purposes of this Policy, the following revisions
to financial statements are not restatements triggering reimbursement or forfeiture of compensation: (i) retrospective application of
a change in accounting principles; (ii) retrospective revision to reportable segment information due to a change in the Company&rsquo;s
structure; (iii) retrospective reclassification due to a discontinued operation; (iv) retrospective application of a change in reporting
entity, such as from a reorganization of entities under common control; (v) revisions for stock splits, reverse stock splits, stock dividends
or other changes in capital structure; and (vi) timing differences from one fiscal year to another.</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">Notwithstanding anything to the contrary herein,
this Policy does not require the Company to seek recoupment of amounts that are granted, vested, or earned based solely upon the occurrence
or non-occurrence of non-financial events. Such exempt compensation, not meeting the definition of Incentive-Based Compensation, includes,
without limitation, (i) base salary; (ii) time-vesting awards, such as vesting contingent solely upon completion of a specified period
of employment; (iii) bonus compensation awarded on the basis of the achievement of metrics that are not Financial Reporting Measures;
and (iv) bonus compensation or equity awards awarded solely on a discretionary basis that is in no way contingent on, or granted on the
basis of, the achievement of any Financial Reporting Measure.</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">The Company shall not indemnify any Executive Officer
against the loss of erroneously awarded Incentive-Based Compensation.</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">All employment agreements, award agreements or
other documents setting forth the terms of Incentive-Based Compensation available to Executive Officers following the Effective Date shall
include a provision incorporating the requirements of this Policy.</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">The remedies available to the Company under this
Policy are not exclusive and shall be in addition to all other rights and remedies available to the Company at law or in equity.</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">The Board of Directors of the Company may amend
this Policy from time to time in its discretion and shall amend this Policy as it deems necessary to comply with regulations adopted by
the Commission and to comply with the listing standards of the of the NYSE.</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">The Board is authorized to interpret and construe
this Policy and to make all determinations necessary, appropriate, or advisable for the administration of this Policy. It is intended
that this Policy be interpreted in a manner that is consistent with the requirements of Section 10D of the Exchange Act and any applicable
rules or standards adopted by the Commission and the Exchange.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">This Policy shall be effective as of the date it
is adopted by the Board and shall apply to Incentive-Based Compensation that is approved, awarded or granted to Executive Officers on
or after October 2, 2023, the effective date of the applicable NYSE listing standards adopted in accordance with Rule 10D-1 under the
Exchange Act.</P>

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

<!-- Field: Page; Sequence: 3; Value: 45 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->46<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

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

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>9
<FILENAME>image_001.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 image_001.jpg
M_]C_X  02D9)1@ ! 0$ 8 !@  #_VP!#  @&!@<&!0@'!P<)"0@*#!0-# L+
M#!D2$P\4'1H?'AT:'!P@)"XG("(L(QP<*#<I+# Q-#0T'R<Y/3@R/"XS-#+_
MVP!# 0@)"0P+#!@-#1@R(1PA,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R
M,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C+_P  1" !( +\# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
M! 0   %] 0(#  01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D*
M%A<8&1HE)B<H*2HT-38W.#DZ0T1%1D=(24I35%565UA96F-D969G:&EJ<W1U
M=G=X>7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&
MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$  P$! 0$!
M 0$! 0        $" P0%!@<("0H+_\0 M1$  @$"! 0#! <%! 0  0)W  $"
M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF
M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$
MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4
MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,!  (1 Q$ /P#W^BBB@ HI
M"V*0,#V(^M #J*0MB@,#TH 6BBB@ HHHH ***,T %%)FD+ 4 .HJ&6ZA@C,D
M\B11CJ\C!0/Q-<EJ?Q0\+Z=(T27C7LP_Y9VB&3]1Q5PA*?PJY,I*.YV-&:\S
MD^(?B/4"1H?@Z[93TDN01G\./YU5>;XM:E]R"TL5/8; 1^>36OU>2^)I?,S]
MJNEV>K4M>.3>%?BE<Y,NN 9["ZV_R%49O!GQ+C!(U*:7'9-0/]:M8:+_ .7B
M)=5_RL]QR*3BOGNYE^(^@ O-+JZ(O.[/FK^?-6=)^+_B"T<+?);W\8X.Y?+?
M\Q_A6CP-1J\&F2L3':2L>^#I2URWA7QYH_BI3';.T-XHRUM+PV/4'^(>XKJ
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
"_]D!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>10
<FILENAME>esp-20240630.xsd
<DESCRIPTION>XBRL SCHEMA FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!-- Generated by CompSci Transform (tm) - http://www.compsciresources.com -->
<!-- Created: Thu Sep 26 20:44:29 UTC 2024 -->
<xs:schema elementFormDefault="qualified" xmlns:srt-types="http://fasb.org/srt-types/2024" targetNamespace="http://espey.com/20240630" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:us-types="http://fasb.org/us-types/2024" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:esp="http://espey.com/20240630" xmlns:dtr="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <xs:annotation>
    <xs:appinfo>
      <link:linkbaseRef xlink:type="simple" xlink:href="esp-20240630_lab.xml" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef"/>
      <link:linkbaseRef xlink:type="simple" xlink:href="esp-20240630_pre.xml" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef"/>
      <link:linkbaseRef xlink:type="simple" xlink:href="esp-20240630_def.xml" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef"/>
      <link:linkbaseRef xlink:type="simple" xlink:href="esp-20240630_cal.xml" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef"/>
      <link:roleType roleURI="http://espey.com/role/ConsolidatedBalanceSheet" id="esp_r_ConsolidatedBalanceSheet">
        <link:definition>995301 - Statement - Balance Sheets</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/ConsolidatedBalanceSheet_Parentheticals" id="esp_r_ConsolidatedBalanceSheet_Parentheticals">
        <link:definition>995302 - Statement - Balance Sheets (Parentheticals)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/ConsolidatedIncomeStatement" id="esp_r_ConsolidatedIncomeStatement">
        <link:definition>995303 - Statement - Statements of Comprehensive Income</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/ShareholdersEquityType2or3" id="esp_r_ShareholdersEquityType2or3">
        <link:definition>995304 - Statement - Statements of Changes in Stockholders' Equity</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/ShareholdersEquityType2or3_Parentheticals" id="esp_r_ShareholdersEquityType2or3_Parentheticals">
        <link:definition>995305 - Statement - Statements of Changes in Stockholders' Equity (Parentheticals)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/ConsolidatedCashFlow" id="esp_r_ConsolidatedCashFlow">
        <link:definition>995306 - Statement - Statements of Cash Flows</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/NatureofOperations" id="esp_r_NatureofOperations">
        <link:definition>995307 - Disclosure - Nature of Operations</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/SummaryofSignificantAccountingPolicies" id="esp_r_SummaryofSignificantAccountingPolicies">
        <link:definition>995308 - Disclosure - Summary of Significant Accounting Policies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/Revenue" id="esp_r_Revenue">
        <link:definition>995309 - Disclosure - Revenue</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/InvestmentSecurities" id="esp_r_InvestmentSecurities">
        <link:definition>995310 - Disclosure - Investment Securities</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/ContractsinProcess" id="esp_r_ContractsinProcess">
        <link:definition>995311 - Disclosure - Contracts in Process</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/PropertyPlantandEquipment" id="esp_r_PropertyPlantandEquipment">
        <link:definition>995312 - Disclosure - Property, Plant and Equipment</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/PensionExpense" id="esp_r_PensionExpense">
        <link:definition>995313 - Disclosure - Pension Expense</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/ProvisionforIncomeTaxes" id="esp_r_ProvisionforIncomeTaxes">
        <link:definition>995314 - Disclosure - Provision for Income Taxes</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/SignificantCustomers" id="esp_r_SignificantCustomers">
        <link:definition>995315 - Disclosure - Significant Customers</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/EmployeeStockOwnershipPlan" id="esp_r_EmployeeStockOwnershipPlan">
        <link:definition>995316 - Disclosure - Employee Stock Ownership Plan</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/StockbasedCompensation" id="esp_r_StockbasedCompensation">
        <link:definition>995317 - Disclosure - Stock-based Compensation</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/ConcentrationofCreditRisk" id="esp_r_ConcentrationofCreditRisk">
        <link:definition>995318 - Disclosure - Concentration of Credit Risk</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/RelatedParties" id="esp_r_RelatedParties">
        <link:definition>995319 - Disclosure - Related Parties</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/CommitmentsandContingencies" id="esp_r_CommitmentsandContingencies">
        <link:definition>995320 - Disclosure - Commitments and Contingencies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/StockholdersEquity" id="esp_r_StockholdersEquity">
        <link:definition>995321 - Disclosure - Stockholders' Equity</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/LineofCredit" id="esp_r_LineofCredit">
        <link:definition>995322 - Disclosure - Line of Credit</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/QuarterlyFinancialInformationUnaudited" id="esp_r_QuarterlyFinancialInformationUnaudited">
        <link:definition>995323 - Disclosure - Quarterly Financial Information (Unaudited)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/AccountingPoliciesByPolicy" id="esp_r_AccountingPoliciesByPolicy">
        <link:definition>996000 - Disclosure - Accounting Policies, by Policy (Policies)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/SummaryofSignificantAccountingPoliciesTables" id="esp_r_SummaryofSignificantAccountingPoliciesTables">
        <link:definition>996001 - Disclosure - Summary of Significant Accounting Policies (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/InvestmentSecuritiesTables" id="esp_r_InvestmentSecuritiesTables">
        <link:definition>996002 - Disclosure - Investment Securities (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/ContractsinProcessTables" id="esp_r_ContractsinProcessTables">
        <link:definition>996003 - Disclosure - Contracts in Process (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/PropertyPlantandEquipmentTables" id="esp_r_PropertyPlantandEquipmentTables">
        <link:definition>996004 - Disclosure - Property, Plant and Equipment (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/ProvisionforIncomeTaxesTables" id="esp_r_ProvisionforIncomeTaxesTables">
        <link:definition>996005 - Disclosure - Provision for Income Taxes (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/EmployeeStockOwnershipPlanTables" id="esp_r_EmployeeStockOwnershipPlanTables">
        <link:definition>996006 - Disclosure - Employee Stock Ownership Plan (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/StockbasedCompensationTables" id="esp_r_StockbasedCompensationTables">
        <link:definition>996007 - Disclosure - Stock-based Compensation (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/StockholdersEquityTables" id="esp_r_StockholdersEquityTables">
        <link:definition>996008 - Disclosure - Stockholders' Equity (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/QuarterlyFinancialInformationUnauditedTables" id="esp_r_QuarterlyFinancialInformationUnauditedTables">
        <link:definition>996009 - Disclosure - Quarterly Financial Information (Unaudited) (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/SummaryofSignificantAccountingPoliciesDetails" id="esp_r_SummaryofSignificantAccountingPoliciesDetails">
        <link:definition>996010 - Disclosure - Summary of Significant Accounting Policies (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/ScheduleofEstimatedUsefulLivesofDepreciableAssetsTable" id="esp_r_ScheduleofEstimatedUsefulLivesofDepreciableAssetsTable">
        <link:definition>996011 - Disclosure - Summary of Significant Accounting Policies (Details) - Schedule of Estimated Useful Lives of Depreciable Assets</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/RevenueDetails" id="esp_r_RevenueDetails">
        <link:definition>996012 - Disclosure - Revenue (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/ScheduleofClassifiesInvestmentSecuritiesasAvailableforSaleTable" id="esp_r_ScheduleofClassifiesInvestmentSecuritiesasAvailableforSaleTable">
        <link:definition>996013 - Disclosure - Investment Securities (Details) - Schedule of Classifies Investment Securities as Available-for-Sale</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/ScheduleofContractualMaturitiesofAvailableforSaleDebtSecuritiesTable" id="esp_r_ScheduleofContractualMaturitiesofAvailableforSaleDebtSecuritiesTable">
        <link:definition>996014 - Disclosure - Investment Securities (Details) - Schedule of Contractual Maturities of Available-for-Sale Debt Securities</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/ScheduleofContractsinProcessTable" id="esp_r_ScheduleofContractsinProcessTable">
        <link:definition>996015 - Disclosure - Contracts in Process (Details) - Schedule of Contracts in Process</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/PropertyPlantandEquipmentDetails" id="esp_r_PropertyPlantandEquipmentDetails">
        <link:definition>996016 - Disclosure - Property, Plant and Equipment (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
<!-- [WMV6][XcpuxYn59dz7vgYynUDuwG7r97K2jUTysl7vcz0lJt/tSeJz73kx1cLt0ZFF2SK/vxBCY0vdSrYnt/FcukLonGvrL5wMA+ofwaqo4qMNOuQCZ4f5MsVOmOOAhEIki8WPj8IecsZEAIH93EFFuU1YNbJ9bq3A8pyccr+4dZb24Xm8ri5fUWvN9D2QbwLnSGEeGM9LkmeBq6kmBc6qbz0KTLZS42R+z5T+TvRKf196x1U02PcpSpWyFI0XkFnk2J6etumKnTtqhgnHWd8y9A65nb4JJN+PiV09Lp6c5W1Ly5m9v2l1EL6G94olFSBfy2KE/y3o1CfvT6u0sSKWlnf8apVazsvpMNyJ] CSR-->
      <link:roleType roleURI="http://espey.com/role/ScheduleofPropertyPlantandEquipmentTable" id="esp_r_ScheduleofPropertyPlantandEquipmentTable">
        <link:definition>996017 - Disclosure - Property, Plant and Equipment (Details) - Schedule of Property, Plant and Equipment</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/PensionExpenseDetails" id="esp_r_PensionExpenseDetails">
        <link:definition>996018 - Disclosure - Pension Expense (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/ProvisionforIncomeTaxesDetails" id="esp_r_ProvisionforIncomeTaxesDetails">
        <link:definition>996019 - Disclosure - Provision for Income Taxes (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/ScheduleofComponentsoftheProvisionforIncomeTaxesTable" id="esp_r_ScheduleofComponentsoftheProvisionforIncomeTaxesTable">
        <link:definition>996020 - Disclosure - Provision for Income Taxes (Details) - Schedule of Components of the Provision for Income Taxes</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/ScheduleofEffectiveIncomeTaxRatesTable" id="esp_r_ScheduleofEffectiveIncomeTaxRatesTable">
        <link:definition>996021 - Disclosure - Provision for Income Taxes (Details) - Schedule of Effective Income Tax Rates</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable" id="esp_r_ScheduleofDeferredTaxAssetsandLiabilitiesTable">
        <link:definition>996022 - Disclosure - Provision for Income Taxes (Details) - Schedule of Deferred Tax Assets and Liabilities</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/SignificantCustomersDetails" id="esp_r_SignificantCustomersDetails">
        <link:definition>996023 - Disclosure - Significant Customers (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/EmployeeStockOwnershipPlanDetails" id="esp_r_EmployeeStockOwnershipPlanDetails">
        <link:definition>996024 - Disclosure - Employee Stock Ownership Plan (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/ScheduleofESOPSharesTable" id="esp_r_ScheduleofESOPSharesTable">
        <link:definition>996025 - Disclosure - Employee Stock Ownership Plan (Details) - Schedule of ESOP Shares</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/StockbasedCompensationDetails" id="esp_r_StockbasedCompensationDetails">
        <link:definition>996026 - Disclosure - Stock-based Compensation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/ScheduleofWeightedAverageAssumptionsofOptionAwardTable" id="esp_r_ScheduleofWeightedAverageAssumptionsofOptionAwardTable">
        <link:definition>996027 - Disclosure - Stock-based Compensation (Details) - Schedule of Weighted Average Assumptions of Option Award</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/ScheduleofStockOptionActivityTable" id="esp_r_ScheduleofStockOptionActivityTable">
        <link:definition>996028 - Disclosure - Stock-based Compensation (Details) - Schedule of Stock Option Activity</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/ScheduleofChangesinNonVestedStockOptionsTable" id="esp_r_ScheduleofChangesinNonVestedStockOptionsTable">
        <link:definition>996029 - Disclosure - Stock-based Compensation (Details) - Schedule of Changes in Non-Vested Stock Options</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/ConcentrationofCreditRiskDetails" id="esp_r_ConcentrationofCreditRiskDetails">
        <link:definition>996030 - Disclosure - Concentration of Credit Risk (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/CommitmentsandContingenciesDetails" id="esp_r_CommitmentsandContingenciesDetails">
        <link:definition>996031 - Disclosure - Commitments and Contingencies (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/StockholdersEquityDetails" id="esp_r_StockholdersEquityDetails">
        <link:definition>996032 - Disclosure - Stockholders' Equity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/ScheduleofReservedCommonSharesforFutureIssuanceTable" id="esp_r_ScheduleofReservedCommonSharesforFutureIssuanceTable">
        <link:definition>996033 - Disclosure - Stockholders' Equity (Details) - Schedule of Reserved Common Shares for Future Issuance</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/ScheduleofReconciliationoftheNumeratorsandDenominatorsoftheBasicandDilutedEarningsPerShareComputationsTable" id="esp_r_ScheduleofReconciliationoftheNumeratorsandDenominatorsoftheBasicandDilutedEarningsPerShareComputationsTable">
        <link:definition>996034 - Disclosure - Stockholders' Equity (Details) - Schedule of Reconciliation of the Numerators and Denominators of the Basic and Diluted Earnings Per Share Computations</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/LineofCreditDetails" id="esp_r_LineofCreditDetails">
        <link:definition>996035 - Disclosure - Line of Credit (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/ScheduleofQuarterlyFinancialInformationDetailsScheduleofQuarterlyFinancialInformation" id="esp_r_ScheduleofQuarterlyFinancialInformationDetailsScheduleofQuarterlyFinancialInformation">
        <link:definition>996036 - Disclosure - Schedule of Quarterly Financial Information (Details) - Schedule of Quarterly Financial Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://espey.com/role/DocumentAndEntityInformation" id="DocumentAndEntityInformation">
        <link:definition>000 - Document - Document And Entity Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
    </xs:appinfo>
  </xs:annotation>
  <xs:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"/>
  <xs:import namespace="http://fasb.org/us-types/2024" schemaLocation="https://xbrl.fasb.org/us-gaap/2024/elts/us-types-2024.xsd"/>
  <xs:import namespace="http://www.xbrl.org/dtr/type/2022-03-31" schemaLocation="https://www.xbrl.org/dtr/type/2022-03-31/types.xsd"/>
  <xs:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd"/>
  <xs:import namespace="http://fasb.org/srt-types/2024" schemaLocation="https://xbrl.fasb.org/srt/2024/elts/srt-types-2024.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/sic/2024" schemaLocation="https://xbrl.sec.gov/sic/2024/sic-2024.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/ecd/2024" schemaLocation="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/ecd-sub/2024" schemaLocation="https://xbrl.sec.gov/ecd/2024/ecd-sub-2024.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/dei-sub/2024" schemaLocation="https://xbrl.sec.gov/dei/2024/dei-sub-2024.xsd"/>
  <xs:element name="ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsAbstract"/>
  <xs:element name="ScheduleOfClassifiesInvestmentSecuritiesAsAvailableForSaleAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_ScheduleOfClassifiesInvestmentSecuritiesAsAvailableForSaleAbstract"/>
  <xs:element name="ScheduleOfPropertyPlantAndEquipmentAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_ScheduleOfPropertyPlantAndEquipmentAbstract"/>
  <xs:element name="ScheduleOfReservedCommonSharesForFutureIssuanceAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_ScheduleOfReservedCommonSharesForFutureIssuanceAbstract"/>
  <xs:element name="UnlabeledAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract"/>
  <xs:element name="InventoriesAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_InventoriesAbstract"/>
  <xs:element name="UnlabeledAbstract0" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract0"/>
  <xs:element name="UnlabeledAbstract1" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract1"/>
  <xs:element name="UnlabeledAbstract2" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract2"/>
  <xs:element name="AccruedExpensesAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_AccruedExpensesAbstract"/>
  <xs:element name="UnlabeledAbstract3" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract3"/>
  <xs:element name="UnlabeledAbstract4" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract4"/>
  <xs:element name="UnlabeledAbstract5" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract5"/>
  <xs:element name="CommonStockParValue3313PerShareAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_CommonStockParValue3313PerShareAbstract"/>
  <xs:element name="UnlabeledAbstract6" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract6"/>
  <xs:element name="UnlabeledAbstract7" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract7"/>
  <xs:element name="UnlabeledAbstract8" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract8"/>
  <xs:element name="UnlabeledAbstract9" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract9"/>
  <xs:element name="UnlabeledAbstract10" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract10"/>
  <xs:element name="UnlabeledAbstract11" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract11"/>
  <xs:element name="UnlabeledAbstract12" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract12"/>
  <xs:element name="UnlabeledAbstract13" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract13"/>
  <xs:element name="UnlabeledAbstract14" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract14"/>
  <xs:element name="UnlabeledAbstract15" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract15"/>
  <xs:element name="UnlabeledAbstract16" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract16"/>
  <xs:element name="UnlabeledAbstract17" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract17"/>
  <xs:element name="ComprehensiveIncomeAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_ComprehensiveIncomeAbstract"/>
  <xs:element name="UnlabeledAbstract18" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract18"/>
  <xs:element name="UnlabeledAbstract19" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract19"/>
  <xs:element name="UnlabeledAbstract20" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract20"/>
  <xs:element name="UnlabeledAbstract21" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract21"/>
  <xs:element name="UnlabeledAbstract22" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract22"/>
  <xs:element name="UnlabeledAbstract23" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract23"/>
  <xs:element name="UnlabeledAbstract24" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract24"/>
  <xs:element name="UnlabeledAbstract25" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract25"/>
  <xs:element name="ComprehensiveIncomeAbstract0" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_ComprehensiveIncomeAbstract0"/>
  <xs:element name="UnlabeledAbstract26" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract26"/>
  <xs:element name="UnlabeledAbstract27" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract27"/>
  <xs:element name="UnlabeledAbstract28" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract28"/>
  <xs:element name="UnlabeledAbstract29" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract29"/>
  <xs:element name="UnlabeledAbstract30" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract30"/>
  <xs:element name="UnlabeledAbstract31" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract31"/>
  <xs:element name="UnlabeledAbstract32" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract32"/>
  <xs:element name="UnlabeledAbstract33" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract33"/>
  <xs:element name="UnlabeledAbstract34" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract34"/>
  <xs:element name="UnlabeledAbstract35" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract35"/>
  <xs:element name="UnlabeledAbstract36" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract36"/>
  <xs:element name="UnlabeledAbstract37" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract37"/>
  <xs:element name="UnlabeledAbstract38" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract38"/>
  <xs:element name="UnlabeledAbstract39" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract39"/>
  <xs:element name="June302024Abstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_June302024Abstract"/>
  <xs:element name="UnlabeledAbstract40" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract40"/>
  <xs:element name="June302023Abstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_June302023Abstract"/>
  <xs:element name="IncreaseReductionInRateResultingFromAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_IncreaseReductionInRateResultingFromAbstract"/>
  <xs:element name="UnlabeledAbstract41" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract41"/>
  <xs:element name="UnlabeledAbstract42" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract42"/>
  <xs:element name="UnlabeledAbstract43" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract43"/>
  <xs:element name="UnlabeledAbstract44" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnlabeledAbstract44"/>
  <xs:element name="DeferredTaxAssetsCurrent" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" xbrli:balance="debit" nillable="true" substitutionGroup="xbrli:item" id="esp_DeferredTaxAssetsCurrent"/>
  <xs:element name="DeferredTaxLiability" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" xbrli:balance="credit" nillable="true" substitutionGroup="xbrli:item" id="esp_DeferredTaxLiability"/>
  <xs:element name="TotalStockholdersEquityBeforyEsopAndTreasuryStock" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" xbrli:balance="credit" nillable="true" substitutionGroup="xbrli:item" id="esp_TotalStockholdersEquityBeforyEsopAndTreasuryStock"/>
  <xs:element name="UnearnedEsopSharesCost" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" xbrli:balance="debit" nillable="true" substitutionGroup="xbrli:item" id="esp_UnearnedEsopSharesCost"/>
  <xs:element name="IncreaseDecreaseInVacationAccrual" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" xbrli:balance="debit" nillable="true" substitutionGroup="xbrli:item" id="esp_IncreaseDecreaseInVacationAccrual"/>
  <xs:element name="IncreasedecreaseInPayrollAndOtherTaxesWithheld" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" xbrli:balance="debit" nillable="true" substitutionGroup="xbrli:item" id="esp_IncreasedecreaseInPayrollAndOtherTaxesWithheld"/>
  <xs:element name="ProceedsFromGrantAward" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" xbrli:balance="debit" nillable="true" substitutionGroup="xbrli:item" id="esp_ProceedsFromGrantAward"/>
  <xs:element name="SignificantCustomersTextBlock" type="dtr:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_SignificantCustomersTextBlock"/>
  <xs:element name="EmployeeStockOwnershipPlanTextBlock" type="dtr:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_EmployeeStockOwnershipPlanTextBlock"/>
  <xs:element name="LineOfCreditTextBlock" type="dtr:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_LineOfCreditTextBlock"/>
  <xs:element name="ContractLiabilitiesPolicyTextBlock" type="dtr:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_ContractLiabilitiesPolicyTextBlock"/>
  <xs:element name="RecentlyAdoptedAccountingStandardsPolicyTextBlock" type="dtr:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_RecentlyAdoptedAccountingStandardsPolicyTextBlock"/>
  <xs:element name="ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock" type="dtr:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock"/>
  <xs:element name="ScheduleOfContractsInProcessTableTextBlock" type="dtr:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_ScheduleOfContractsInProcessTableTextBlock"/>
  <xs:element name="ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock" type="dtr:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock"/>
  <xs:element name="SummaryofSignificantAccountingPoliciesDetailsScheduleofEstimatedUsefulLivesofDepreciableAssetsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="esp_SummaryofSignificantAccountingPoliciesDetailsScheduleofEstimatedUsefulLivesofDepreciableAssetsTable"/>
  <xs:element name="UnrecognizedGrossContractValue" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" xbrli:balance="debit" nillable="true" substitutionGroup="xbrli:item" id="esp_UnrecognizedGrossContractValue"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationESOPFairValue" type="dtr:percentItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_EffectiveIncomeTaxRateReconciliationESOPFairValue"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares" type="dtr:percentItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares"/>
  <xs:element name="DeferredTaxAssetsPensionWithdrawal" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" xbrli:balance="debit" nillable="true" substitutionGroup="xbrli:item" id="esp_DeferredTaxAssetsPensionWithdrawal"/>
  <xs:element name="DeferredTaxAssetLiability" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" xbrli:balance="debit" nillable="true" substitutionGroup="xbrli:item" id="esp_DeferredTaxAssetLiability"/>
  <xs:element name="StockbasedCompensationDetailsScheduleofStockOptionActivityTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityTable"/>
  <xs:element name="StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems"/>
  <xs:element name="SharebasedCompensationArrangementsBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" type="xbrli:durationItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_SharebasedCompensationArrangementsBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2"/>
  <xs:element name="WeightedAverageRemainingContrSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTermactualTermGranted" type="xbrli:durationItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_WeightedAverageRemainingContrSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTermactualTermGranted"/>
  <xs:element name="StockholdersEquityDetailsScheduleofReservedCommonSharesforFutureIssuanceTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="esp_StockholdersEquityDetailsScheduleofReservedCommonSharesforFutureIssuanceTable"/>
  <xs:element name="ContractExtendTerm" type="xbrli:durationItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_ContractExtendTerm"/>
  <xs:element name="RevenueDetailsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="esp_RevenueDetailsTable"/>
  <xs:element name="BacklogPercentageOfRecognitionsYearOne" type="dtr:percentItemType" abstract="false" xbrli:periodType="instant" nillable="true" substitutionGroup="xbrli:item" id="esp_BacklogPercentageOfRecognitionsYearOne"/>
  <xs:element name="BacklogPercentageOfRecognitionsYearTwo" type="dtr:percentItemType" abstract="false" xbrli:periodType="instant" nillable="true" substitutionGroup="xbrli:item" id="esp_BacklogPercentageOfRecognitionsYearTwo"/>
  <xs:element name="BacklogPercentageOfRecognitionsYearThree" type="dtr:percentItemType" abstract="false" xbrli:periodType="instant" nillable="true" substitutionGroup="xbrli:item" id="esp_BacklogPercentageOfRecognitionsYearThree"/>
  <xs:element name="BacklogPercentageOfRecognitions" type="dtr:percentItemType" abstract="false" xbrli:periodType="instant" nillable="true" substitutionGroup="xbrli:item" id="esp_BacklogPercentageOfRecognitions"/>
  <xs:element name="PropertyPlantandEquipmentDetailsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="esp_PropertyPlantandEquipmentDetailsTable"/>
  <xs:element name="TotalMilestoneReimbursementsReceivedAmount" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" xbrli:balance="debit" nillable="true" substitutionGroup="xbrli:item" id="esp_TotalMilestoneReimbursementsReceivedAmount"/>
  <xs:element name="PensionExpenseDetailsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="esp_PensionExpenseDetailsTable"/>
  <xs:element name="DefinedContributionPlanEmployersMatchingContribution" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" xbrli:balance="debit" nillable="true" substitutionGroup="xbrli:item" id="esp_DefinedContributionPlanEmployersMatchingContribution"/>
  <xs:element name="ProvisionforIncomeTaxesDetailsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="esp_ProvisionforIncomeTaxesDetailsTable"/>
  <xs:element name="SignificantCustomersDetailsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="esp_SignificantCustomersDetailsTable"/>
  <xs:element name="EmployeeStockOwnershipPlanDetailsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="esp_EmployeeStockOwnershipPlanDetailsTable"/>
  <xs:element name="EmployeeStockOwnershipPlanHoursWorked" type="xbrli:integerItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_EmployeeStockOwnershipPlanHoursWorked"/>
  <xs:element name="StockbasedCompensationDetailsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="esp_StockbasedCompensationDetailsTable"/>
  <xs:element name="PercentageOfTotalNumberOfSharesSubjectToOptionsOrAwardsSingleFiscalYear" type="xbrli:stringItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_PercentageOfTotalNumberOfSharesSubjectToOptionsOrAwardsSingleFiscalYear"/>
  <xs:element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercised" type="xbrli:sharesItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercised"/>
  <xs:element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestCancelled" type="xbrli:sharesItemType" abstract="false" xbrli:periodType="instant" nillable="true" substitutionGroup="xbrli:item" id="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestCancelled"/>
  <xs:element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionOutstandingNumber" type="xbrli:sharesItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionOutstandingNumber"/>
  <xs:element name="ConcentrationofCreditRiskDetailsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="esp_ConcentrationofCreditRiskDetailsTable"/>
  <xs:element name="FloatingRatePercentage" type="dtr:percentItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_FloatingRatePercentage"/>
  <xs:element name="ASC606Member" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_ASC606Member"/>
  <xs:element name="EmployeeStockOwnershipPlanMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_EmployeeStockOwnershipPlanMember"/>
  <xs:element name="FiveCustomersMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_FiveCustomersMember"/>
  <xs:element name="IncentiveStockOptionMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_IncentiveStockOptionMember"/>
  <xs:element name="IndividualEmployeeMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_IndividualEmployeeMember"/>
  <xs:element name="MilestonesAchievedMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_MilestonesAchievedMember"/>
  <xs:element name="NonEmployeeDirectorsMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_NonEmployeeDirectorsMember"/>
  <xs:element name="NonQualifiedStockOptionsMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_NonQualifiedStockOptionsMember"/>
  <xs:element name="RestrictedStockPlanMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_RestrictedStockPlanMember"/>
  <xs:element name="TwoThousandSevenPlanMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_TwoThousandSevenPlanMember"/>
  <xs:element name="TwoThousandSeventeenPlanMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_TwoThousandSeventeenPlanMember"/>
  <xs:element name="USFederalAndStateMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_USFederalAndStateMember"/>
  <xs:element name="UnearnedESOPSharesMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnearnedESOPSharesMember"/>
  <xs:element name="UnitsDeliveredMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_UnitsDeliveredMember"/>
  <xs:element name="DocumentAndEntityInformationAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="esp_DocumentAndEntityInformationAbstract"/>
</xs:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>11
<FILENAME>esp-20240630_cal.xml
<DESCRIPTION>XBRL CALCULATION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!-- Generated by CompSci Transform (tm) - http://www.compsciresources.com -->
<!-- Created: Thu Sep 26 20:44:29 UTC 2024 -->
<linkbase xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ConsolidatedBalanceSheet" roleURI="http://espey.com/role/ConsolidatedBalanceSheet"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ConsolidatedIncomeStatement" roleURI="http://espey.com/role/ConsolidatedIncomeStatement"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ConsolidatedCashFlow" roleURI="http://espey.com/role/ConsolidatedCashFlow"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofPropertyPlantandEquipmentTable" roleURI="http://espey.com/role/ScheduleofPropertyPlantandEquipmentTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofComponentsoftheProvisionforIncomeTaxesTable" roleURI="http://espey.com/role/ScheduleofComponentsoftheProvisionforIncomeTaxesTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofEffectiveIncomeTaxRatesTable" roleURI="http://espey.com/role/ScheduleofEffectiveIncomeTaxRatesTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofDeferredTaxAssetsandLiabilitiesTable" roleURI="http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofESOPSharesTable" roleURI="http://espey.com/role/ScheduleofESOPSharesTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofReservedCommonSharesforFutureIssuanceTable" roleURI="http://espey.com/role/ScheduleofReservedCommonSharesforFutureIssuanceTable"/>
  <calculationLink xlink:role="http://espey.com/role/ConsolidatedBalanceSheet" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryRawMaterials" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterials"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryRawMaterials" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryWorkInProcess" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcess"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryWorkInProcess" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryForLongTermContractsOrPrograms" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryForLongTermContractsOrPrograms"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryForLongTermContractsOrPrograms" order="3" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent" order="3" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxesReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesReceivable"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_IncomeTaxesReceivable" order="4" weight="1"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_InventoryNet" order="5" weight="1"/>
    <loc xlink:type="locator" xlink:label="esp_DeferredTaxAssetsCurrent" xlink:href="esp-20240630.xsd#esp_DeferredTaxAssetsCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="esp_DeferredTaxAssetsCurrent" order="6" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" order="7" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Assets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_AssetsCurrent" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_AccountsPayableCurrent" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccruedSalariesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedSalariesCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_AccruedSalariesCurrent" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccruedVacationCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedVacationCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_AccruedVacationCurrent" order="3" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherEmployeeRelatedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherEmployeeRelatedLiabilitiesCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_OtherEmployeeRelatedLiabilitiesCurrent" order="4" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccruedPayrollTaxesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedPayrollTaxesCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_AccruedPayrollTaxesCurrent" order="5" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" order="6" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TaxesPayableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxesPayableCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_TaxesPayableCurrent" order="7" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Liabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_LiabilitiesCurrent" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="esp_DeferredTaxLiability" xlink:href="esp-20240630.xsd#esp_DeferredTaxLiability"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="esp_DeferredTaxLiability" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="esp_TotalStockholdersEquityBeforyEsopAndTreasuryStock" xlink:href="esp-20240630.xsd#esp_TotalStockholdersEquityBeforyEsopAndTreasuryStock"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="esp_TotalStockholdersEquityBeforyEsopAndTreasuryStock" xlink:to="us-gaap_CommonStockValue" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="esp_TotalStockholdersEquityBeforyEsopAndTreasuryStock" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="esp_TotalStockholdersEquityBeforyEsopAndTreasuryStock" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" order="3" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="esp_TotalStockholdersEquityBeforyEsopAndTreasuryStock" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" order="4" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="esp_TotalStockholdersEquityBeforyEsopAndTreasuryStock" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="esp_UnearnedEsopSharesCost" xlink:href="esp-20240630.xsd#esp_UnearnedEsopSharesCost"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="esp_UnearnedEsopSharesCost" order="2" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockValue"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_TreasuryStockValue" order="3" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_Liabilities" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommitmentsAndContingencies" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_CommitmentsAndContingencies" order="2" weight="1"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquity" order="3" weight="1"/>
  </calculationLink>
  <calculationLink xlink:role="http://espey.com/role/ConsolidatedIncomeStatement" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_GrossProfit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Revenues" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_Revenues" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CostOfRevenue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfRevenue"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_CostOfRevenue" order="2" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_GrossProfit" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense" order="2" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InvestmentIncomeInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentIncomeInterest"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherNonoperatingIncomeExpense" xlink:to="us-gaap_InvestmentIncomeInterest" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherNonoperatingIncome" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncome"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncome" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeTaxExpenseBenefit" order="2" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_NetIncomeLoss" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" order="2" weight="1"/>
  </calculationLink>
  <calculationLink xlink:role="http://espey.com/role/ConsolidatedCashFlow" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetIncomeLoss" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ShareBasedCompensation" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Depreciation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Depreciation"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_Depreciation" order="3" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPCompensationExpense"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPCompensationExpense" order="4" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
<!-- [WMV6][XcpuxYn59dz7vgYynUDuwG7r97K2jUTysl7vcz0lJt/tSeJz73kx1cLt0ZFF2SK/vxBCY0vdSrYnt/FcukLonGvrL5wMA+ofwaqo4qMNOuQCZ4f5MsVOmOOAhEIki8WPj8IecsZEAIH93EFFuU1YNbJ9bq3A8pyccr+4dZb24Xm8ri5fUWvN9D2QbwLnSGEeGM9LkmeBq6kmBc6qbz0KTLZS42R+z5T+TvRKf196x1U02PcpSpWyFI0XkFnk2J6etumKnTtqhgnHWd8y9A65nb4JJN+PiV09Lp6c5W1Ly5m9v2l1EL6G94olFSBfy2KEiGJbSQ1HMht9mRSYlNgYOA==] CSR-->
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" order="5" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable" order="6" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccruedSalaries" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedSalaries"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccruedSalaries" order="7" weight="1"/>
    <loc xlink:type="locator" xlink:label="esp_IncreaseDecreaseInVacationAccrual" xlink:href="esp-20240630.xsd#esp_IncreaseDecreaseInVacationAccrual"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="esp_IncreaseDecreaseInVacationAccrual" order="8" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherAccruedLiabilities"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" order="9" weight="1"/>
    <loc xlink:type="locator" xlink:label="esp_IncreasedecreaseInPayrollAndOtherTaxesWithheld" xlink:href="esp-20240630.xsd#esp_IncreasedecreaseInPayrollAndOtherTaxesWithheld"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="esp_IncreasedecreaseInPayrollAndOtherTaxesWithheld" order="10" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" order="11" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" order="12" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" order="13" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" order="14" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInIncomeTaxesReceivable"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable" order="15" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInInventories" order="16" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" order="17" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <loc xlink:type="locator" xlink:label="esp_ProceedsFromGrantAward" xlink:href="esp-20240630.xsd#esp_ProceedsFromGrantAward"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="esp_ProceedsFromGrantAward" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities" order="3" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" order="4" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsToAcquireInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireInvestments"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquireInvestments" order="5" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProceedsFromRepurchaseOfEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromRepurchaseOfEquity"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_ProceedsFromRepurchaseOfEquity" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsOfDividendsCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfDividendsCommonStock"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentsOfDividendsCommonStock" order="2" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" order="1" weight="1"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" order="2" weight="1"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" order="3" weight="1"/>
  </calculationLink>
  <calculationLink xlink:role="http://espey.com/role/ScheduleofPropertyPlantandEquipmentTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="2" weight="-1"/>
  </calculationLink>
  <calculationLink xlink:role="http://espey.com/role/ScheduleofComponentsoftheProvisionforIncomeTaxesTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentFederalTaxExpenseBenefit"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" order="3" weight="1"/>
  </calculationLink>
  <calculationLink xlink:role="http://espey.com/role/ScheduleofEffectiveIncomeTaxRatesTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="esp_EffectiveIncomeTaxRateReconciliationESOPFairValue" xlink:href="esp-20240630.xsd#esp_EffectiveIncomeTaxRateReconciliationESOPFairValue"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="esp_EffectiveIncomeTaxRateReconciliationESOPFairValue" order="3" weight="1"/>
    <loc xlink:type="locator" xlink:label="esp_EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares" xlink:href="esp-20240630.xsd#esp_EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="esp_EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares" order="4" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" order="5" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" order="6" weight="1"/>
  </calculationLink>
  <calculationLink xlink:role="http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsGross"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" order="3" weight="1"/>
    <loc xlink:type="locator" xlink:label="esp_DeferredTaxAssetsPensionWithdrawal" xlink:href="esp-20240630.xsd#esp_DeferredTaxAssetsPensionWithdrawal"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="esp_DeferredTaxAssetsPensionWithdrawal" order="4" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" order="5" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesPrepaidExpenses"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" order="3" weight="1"/>
    <loc xlink:type="locator" xlink:label="esp_DeferredTaxAssetLiability" xlink:href="esp-20240630.xsd#esp_DeferredTaxAssetLiability"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="esp_DeferredTaxAssetLiability" xlink:to="us-gaap_DeferredTaxAssetsGross" order="1" weight="1"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="esp_DeferredTaxAssetLiability" xlink:to="us-gaap_DeferredIncomeTaxLiabilities" order="2" weight="-1"/>
  </calculationLink>
  <calculationLink xlink:role="http://espey.com/role/ScheduleofESOPSharesTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOP" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOP"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOP" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPNumberOfSuspenseShares" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPNumberOfSuspenseShares"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOP" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPNumberOfSuspenseShares" order="2" weight="1"/>
  </calculationLink>
  <calculationLink xlink:role="http://espey.com/role/ScheduleofReservedCommonSharesforFutureIssuanceTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" order="2" weight="1"/>
  </calculationLink>
</linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>12
<FILENAME>esp-20240630_def.xml
<DESCRIPTION>XBRL DEFINITION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!-- Generated by CompSci Transform (tm) - http://www.compsciresources.com -->
<!-- Created: Thu Sep 26 20:44:29 UTC 2024 -->
<linkbase xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:xbrldt="http://xbrl.org/2005/xbrldt">
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ConsolidatedBalanceSheet" roleURI="http://espey.com/role/ConsolidatedBalanceSheet"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ConsolidatedBalanceSheet_Parentheticals" roleURI="http://espey.com/role/ConsolidatedBalanceSheet_Parentheticals"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ConsolidatedIncomeStatement" roleURI="http://espey.com/role/ConsolidatedIncomeStatement"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ShareholdersEquityType2or3" roleURI="http://espey.com/role/ShareholdersEquityType2or3"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ShareholdersEquityType2or3_Parentheticals" roleURI="http://espey.com/role/ShareholdersEquityType2or3_Parentheticals"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ConsolidatedCashFlow" roleURI="http://espey.com/role/ConsolidatedCashFlow"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_NatureofOperations" roleURI="http://espey.com/role/NatureofOperations"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_SummaryofSignificantAccountingPolicies" roleURI="http://espey.com/role/SummaryofSignificantAccountingPolicies"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_Revenue" roleURI="http://espey.com/role/Revenue"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_InvestmentSecurities" roleURI="http://espey.com/role/InvestmentSecurities"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ContractsinProcess" roleURI="http://espey.com/role/ContractsinProcess"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_PropertyPlantandEquipment" roleURI="http://espey.com/role/PropertyPlantandEquipment"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_PensionExpense" roleURI="http://espey.com/role/PensionExpense"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ProvisionforIncomeTaxes" roleURI="http://espey.com/role/ProvisionforIncomeTaxes"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_SignificantCustomers" roleURI="http://espey.com/role/SignificantCustomers"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_EmployeeStockOwnershipPlan" roleURI="http://espey.com/role/EmployeeStockOwnershipPlan"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_StockbasedCompensation" roleURI="http://espey.com/role/StockbasedCompensation"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ConcentrationofCreditRisk" roleURI="http://espey.com/role/ConcentrationofCreditRisk"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_RelatedParties" roleURI="http://espey.com/role/RelatedParties"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_CommitmentsandContingencies" roleURI="http://espey.com/role/CommitmentsandContingencies"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_StockholdersEquity" roleURI="http://espey.com/role/StockholdersEquity"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_LineofCredit" roleURI="http://espey.com/role/LineofCredit"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_QuarterlyFinancialInformationUnaudited" roleURI="http://espey.com/role/QuarterlyFinancialInformationUnaudited"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_AccountingPoliciesByPolicy" roleURI="http://espey.com/role/AccountingPoliciesByPolicy"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_SummaryofSignificantAccountingPoliciesTables" roleURI="http://espey.com/role/SummaryofSignificantAccountingPoliciesTables"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_InvestmentSecuritiesTables" roleURI="http://espey.com/role/InvestmentSecuritiesTables"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ContractsinProcessTables" roleURI="http://espey.com/role/ContractsinProcessTables"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_PropertyPlantandEquipmentTables" roleURI="http://espey.com/role/PropertyPlantandEquipmentTables"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ProvisionforIncomeTaxesTables" roleURI="http://espey.com/role/ProvisionforIncomeTaxesTables"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_EmployeeStockOwnershipPlanTables" roleURI="http://espey.com/role/EmployeeStockOwnershipPlanTables"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_StockbasedCompensationTables" roleURI="http://espey.com/role/StockbasedCompensationTables"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_StockholdersEquityTables" roleURI="http://espey.com/role/StockholdersEquityTables"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_QuarterlyFinancialInformationUnauditedTables" roleURI="http://espey.com/role/QuarterlyFinancialInformationUnauditedTables"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofEstimatedUsefulLivesofDepreciableAssetsTable" roleURI="http://espey.com/role/ScheduleofEstimatedUsefulLivesofDepreciableAssetsTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofClassifiesInvestmentSecuritiesasAvailableforSaleTable" roleURI="http://espey.com/role/ScheduleofClassifiesInvestmentSecuritiesasAvailableforSaleTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofContractualMaturitiesofAvailableforSaleDebtSecuritiesTable" roleURI="http://espey.com/role/ScheduleofContractualMaturitiesofAvailableforSaleDebtSecuritiesTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofContractsinProcessTable" roleURI="http://espey.com/role/ScheduleofContractsinProcessTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofPropertyPlantandEquipmentTable" roleURI="http://espey.com/role/ScheduleofPropertyPlantandEquipmentTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofComponentsoftheProvisionforIncomeTaxesTable" roleURI="http://espey.com/role/ScheduleofComponentsoftheProvisionforIncomeTaxesTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofEffectiveIncomeTaxRatesTable" roleURI="http://espey.com/role/ScheduleofEffectiveIncomeTaxRatesTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofDeferredTaxAssetsandLiabilitiesTable" roleURI="http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofESOPSharesTable" roleURI="http://espey.com/role/ScheduleofESOPSharesTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofWeightedAverageAssumptionsofOptionAwardTable" roleURI="http://espey.com/role/ScheduleofWeightedAverageAssumptionsofOptionAwardTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofStockOptionActivityTable" roleURI="http://espey.com/role/ScheduleofStockOptionActivityTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofChangesinNonVestedStockOptionsTable" roleURI="http://espey.com/role/ScheduleofChangesinNonVestedStockOptionsTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofReservedCommonSharesforFutureIssuanceTable" roleURI="http://espey.com/role/ScheduleofReservedCommonSharesforFutureIssuanceTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofReconciliationoftheNumeratorsandDenominatorsoftheBasicandDilutedEarningsPerShareComputationsTable" roleURI="http://espey.com/role/ScheduleofReconciliationoftheNumeratorsandDenominatorsoftheBasicandDilutedEarningsPerShareComputationsTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_SummaryofSignificantAccountingPoliciesDetails" roleURI="http://espey.com/role/SummaryofSignificantAccountingPoliciesDetails"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_RevenueDetails" roleURI="http://espey.com/role/RevenueDetails"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_PropertyPlantandEquipmentDetails" roleURI="http://espey.com/role/PropertyPlantandEquipmentDetails"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_PensionExpenseDetails" roleURI="http://espey.com/role/PensionExpenseDetails"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ProvisionforIncomeTaxesDetails" roleURI="http://espey.com/role/ProvisionforIncomeTaxesDetails"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_SignificantCustomersDetails" roleURI="http://espey.com/role/SignificantCustomersDetails"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_EmployeeStockOwnershipPlanDetails" roleURI="http://espey.com/role/EmployeeStockOwnershipPlanDetails"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_StockbasedCompensationDetails" roleURI="http://espey.com/role/StockbasedCompensationDetails"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ConcentrationofCreditRiskDetails" roleURI="http://espey.com/role/ConcentrationofCreditRiskDetails"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_CommitmentsandContingenciesDetails" roleURI="http://espey.com/role/CommitmentsandContingenciesDetails"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_StockholdersEquityDetails" roleURI="http://espey.com/role/StockholdersEquityDetails"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_LineofCreditDetails" roleURI="http://espey.com/role/LineofCreditDetails"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofQuarterlyFinancialInformationDetailsScheduleofQuarterlyFinancialInformation" roleURI="http://espey.com/role/ScheduleofQuarterlyFinancialInformationDetailsScheduleofQuarterlyFinancialInformation"/>
  <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"/>
  <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"/>
  <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"/>
  <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"/>
  <arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" arcroleURI="http://xbrl.org/int/dim/arcrole/all"/>
  <definitionLink xlink:role="http://espey.com/role/ConsolidatedBalanceSheet" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AssetsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_AssetsAbstract" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AccountsReceivableNetCurrent" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxesReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesReceivable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_IncomeTaxesReceivable" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_InventoriesAbstract" xlink:href="esp-20240630.xsd#esp_InventoriesAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsAbstract" xlink:to="esp_InventoriesAbstract" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryRawMaterials" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterials"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="esp_InventoriesAbstract" xlink:to="us-gaap_InventoryRawMaterials" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryWorkInProcess" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcess"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="esp_InventoriesAbstract" xlink:to="us-gaap_InventoryWorkInProcess" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryForLongTermContractsOrPrograms" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryForLongTermContractsOrPrograms"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="esp_InventoriesAbstract" xlink:to="us-gaap_InventoryForLongTermContractsOrPrograms" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InventoryForLongTermContractsOrPrograms" xlink:to="us-gaap_InventoryNet" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_DeferredTaxAssetsCurrent" xlink:href="esp-20240630.xsd#esp_DeferredTaxAssetsCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsAbstract" xlink:to="esp_DeferredTaxAssetsCurrent" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_AssetsCurrent" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" order="7" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Assets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_Assets" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_AccountsPayableCurrent" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_AccruedExpensesAbstract" xlink:href="esp-20240630.xsd#esp_AccruedExpensesAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="esp_AccruedExpensesAbstract" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccruedSalariesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedSalariesCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="esp_AccruedExpensesAbstract" xlink:to="us-gaap_AccruedSalariesCurrent" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccruedVacationCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedVacationCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="esp_AccruedExpensesAbstract" xlink:to="us-gaap_AccruedVacationCurrent" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherEmployeeRelatedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherEmployeeRelatedLiabilitiesCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="esp_AccruedExpensesAbstract" xlink:to="us-gaap_OtherEmployeeRelatedLiabilitiesCurrent" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccruedPayrollTaxesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedPayrollTaxesCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_AccruedPayrollTaxesCurrent" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TaxesPayableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxesPayableCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_TaxesPayableCurrent" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TaxesPayableCurrent" xlink:to="us-gaap_LiabilitiesCurrent" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_DeferredTaxLiability" xlink:href="esp-20240630.xsd#esp_DeferredTaxLiability"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="esp_DeferredTaxLiability" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Liabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="esp_DeferredTaxLiability" xlink:to="us-gaap_Liabilities" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommitmentsAndContingencies" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_CommitmentsAndContingencies" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_CommonStockValue" order="7" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" order="8" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" order="9" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_TotalStockholdersEquityBeforyEsopAndTreasuryStock" xlink:href="esp-20240630.xsd#esp_TotalStockholdersEquityBeforyEsopAndTreasuryStock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="esp_TotalStockholdersEquityBeforyEsopAndTreasuryStock" order="11" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_UnearnedEsopSharesCost" xlink:href="esp-20240630.xsd#esp_UnearnedEsopSharesCost"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="esp_UnearnedEsopSharesCost" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockValue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="esp_UnearnedEsopSharesCost" xlink:to="us-gaap_TreasuryStockValue" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TreasuryStockValue" xlink:to="us-gaap_StockholdersEquity" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TreasuryStockValue" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity" order="1" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/ConsolidatedBalanceSheet_Parentheticals" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_CommonStockSharesAuthorized" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_CommonStockSharesIssued" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_CommonStockSharesOutstanding" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesHeldInEmployeeTrustShares" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesHeldInEmployeeTrustShares"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_CommonStockSharesHeldInEmployeeTrustShares" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockCommonShares" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonShares"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_TreasuryStockCommonShares" order="6" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/ConsolidatedIncomeStatement" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeStatementAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Revenues" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_Revenues" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CostOfRevenue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfRevenue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_CostOfRevenue" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GrossProfit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CostOfRevenue" xlink:to="us-gaap_GrossProfit" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="us-gaap_OperatingIncomeLoss" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherIncomeAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherIncomeAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_OtherIncomeAbstract" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InvestmentIncomeInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentIncomeInterest"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherIncomeAbstract" xlink:to="us-gaap_InvestmentIncomeInterest" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherNonoperatingIncome" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncome"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherIncomeAbstract" xlink:to="us-gaap_OtherNonoperatingIncome" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherNonoperatingIncome" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefit" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_NetIncomeLoss" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" order="7" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_EarningsPerShareAbstract" order="8" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareBasic" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" order="9" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" order="1" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/ShareholdersEquityType2or3" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_StatementLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EquityComponentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EquityComponentDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AdditionalPaidInCapitalMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RetainedEarningsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_RetainedEarningsMember" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockCommonMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_TreasuryStockCommonMember" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_UnearnedESOPSharesMember" xlink:href="esp-20240630.xsd#esp_UnearnedESOPSharesMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="esp_UnearnedESOPSharesMember" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesOutstanding" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" order="7" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition" order="8" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsCommonStockCash" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsCommonStockCash"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DividendsCommonStockCash" order="9" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" order="10" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/ShareholdersEquityType2or3_Parentheticals" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockDividendsPerShareCashPaid" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockDividendsPerShareCashPaid"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_CommonStockDividendsPerShareCashPaid" order="1" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/ConsolidatedCashFlow" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_StatementOfCashFlowsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetIncomeLoss" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ShareBasedCompensation" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Depreciation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Depreciation"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_Depreciation" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPCompensationExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPCompensationExpense" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInIncomeTaxesReceivable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInInventories" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccruedSalaries" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedSalaries"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccruedSalaries" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_IncreaseDecreaseInVacationAccrual" xlink:href="esp-20240630.xsd#esp_IncreaseDecreaseInVacationAccrual"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="esp_IncreaseDecreaseInVacationAccrual" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherAccruedLiabilities"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" order="7" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_IncreasedecreaseInPayrollAndOtherTaxesWithheld" xlink:href="esp-20240630.xsd#esp_IncreasedecreaseInPayrollAndOtherTaxesWithheld"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="esp_IncreasedecreaseInPayrollAndOtherTaxesWithheld" order="8" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" order="9" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" order="11" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_ProceedsFromGrantAward" xlink:href="esp-20240630.xsd#esp_ProceedsFromGrantAward"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="esp_ProceedsFromGrantAward" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsToAcquireInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireInvestments"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireInvestments" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsOfDividendsCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfDividendsCommonStock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsOfDividendsCommonStock" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProceedsFromRepurchaseOfEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromRepurchaseOfEquity"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromRepurchaseOfEquity" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SupplementalCashFlowElementsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SupplementalCashFlowElementsAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_SupplementalCashFlowElementsAbstract" order="7" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxesPaidNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesPaidNet"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_IncomeTaxesPaidNet" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/NatureofOperations" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NatureOfOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NatureOfOperations"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_NatureOfOperations" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/SummaryofSignificantAccountingPolicies" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SignificantAccountingPoliciesTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/Revenue" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_RevenuesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenuesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RevenuesAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/InvestmentSecurities" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_InvestmentsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InvestmentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InvestmentsAbstract" xlink:to="us-gaap_InvestmentTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/ContractsinProcess" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_ContractorsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractorsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LongTermContractsOrProgramsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermContractsOrProgramsDisclosureTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ContractorsAbstract" xlink:to="us-gaap_LongTermContractsOrProgramsDisclosureTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/PropertyPlantandEquipment" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/PensionExpense" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/ProvisionforIncomeTaxes" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/SignificantCustomers" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRisksTypesNoConcentrationPercentageAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRisksTypesNoConcentrationPercentageAbstract"/>
    <loc xlink:type="locator" xlink:label="esp_SignificantCustomersTextBlock" xlink:href="esp-20240630.xsd#esp_SignificantCustomersTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRisksTypesNoConcentrationPercentageAbstract" xlink:to="esp_SignificantCustomersTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/EmployeeStockOwnershipPlan" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_SharesHeldInEmployeeStockOwnershipPlanAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesHeldInEmployeeStockOwnershipPlanAbstract"/>
    <loc xlink:type="locator" xlink:label="esp_EmployeeStockOwnershipPlanTextBlock" xlink:href="esp-20240630.xsd#esp_EmployeeStockOwnershipPlanTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SharesHeldInEmployeeStockOwnershipPlanAbstract" xlink:to="esp_EmployeeStockOwnershipPlanTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/StockbasedCompensation" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/ConcentrationofCreditRisk" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_RisksAndUncertaintiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RisksAndUncertaintiesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskDisclosureTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RisksAndUncertaintiesAbstract" xlink:to="us-gaap_ConcentrationRiskDisclosureTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/RelatedParties" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RelatedPartyTransactionsAbstract" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/CommitmentsandContingencies" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/StockholdersEquity" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquityNoteAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityNoteAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityNoteAbstract" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/LineofCredit" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAbstract"/>
    <loc xlink:type="locator" xlink:label="esp_LineOfCreditTextBlock" xlink:href="esp-20240630.xsd#esp_LineOfCreditTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityAbstract" xlink:to="esp_LineOfCreditTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/QuarterlyFinancialInformationUnaudited" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_QuarterlyFinancialInformationTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_QuarterlyFinancialInformationTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/AccountingPoliciesByPolicy" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_InventoryPolicyTextBlock" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_ContractLiabilitiesPolicyTextBlock" xlink:href="esp-20240630.xsd#esp_ContractLiabilitiesPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="esp_ContractLiabilitiesPolicyTextBlock" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DepreciationDepletionAndAmortizationPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationDepletionAndAmortizationPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_DepreciationDepletionAndAmortizationPolicyTextBlock" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_IncomeTaxPolicyTextBlock" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InvestmentPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_InvestmentPolicyTextBlock" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy" order="7" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_TradeAndOtherAccountsReceivablePolicy" order="8" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerSharePolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock" order="9" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomePolicyPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_UseOfEstimates" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UseOfEstimates"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_UseOfEstimates" order="11" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_RecentlyAdoptedAccountingStandardsPolicyTextBlock" xlink:href="esp-20240630.xsd#esp_RecentlyAdoptedAccountingStandardsPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="esp_RecentlyAdoptedAccountingStandardsPolicyTextBlock" order="12" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" order="13" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" order="14" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskCreditRisk" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskCreditRisk"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ConcentrationRiskCreditRisk" order="15" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/SummaryofSignificantAccountingPoliciesTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <loc xlink:type="locator" xlink:label="esp_ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock" xlink:href="esp-20240630.xsd#esp_ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="esp_ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/InvestmentSecuritiesTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_InvestmentsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InvestmentsAbstract" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InvestmentsAbstract" xlink:to="us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" order="1" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/ContractsinProcessTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_ContractorsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractorsAbstract"/>
    <loc xlink:type="locator" xlink:label="esp_ScheduleOfContractsInProcessTableTextBlock" xlink:href="esp-20240630.xsd#esp_ScheduleOfContractsInProcessTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ContractorsAbstract" xlink:to="esp_ScheduleOfContractsInProcessTableTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/PropertyPlantandEquipmentTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/ProvisionforIncomeTaxesTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" order="2" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/EmployeeStockOwnershipPlanTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_SharesHeldInEmployeeStockOwnershipPlanAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesHeldInEmployeeStockOwnershipPlanAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfEmployeeStockOwnershipPlanESOPDisclosuresTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEmployeeStockOwnershipPlanESOPDisclosuresTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SharesHeldInEmployeeStockOwnershipPlanAbstract" xlink:to="us-gaap_ScheduleOfEmployeeStockOwnershipPlanESOPDisclosuresTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/StockbasedCompensationTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock" order="2" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/StockholdersEquityTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquityNoteAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityNoteAbstract"/>
    <loc xlink:type="locator" xlink:label="esp_ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock" xlink:href="esp-20240630.xsd#esp_ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityNoteAbstract" xlink:to="esp_ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityNoteAbstract" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" order="1" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/QuarterlyFinancialInformationUnauditedTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/ScheduleofEstimatedUsefulLivesofDepreciableAssetsTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <loc xlink:type="locator" xlink:label="esp_SummaryofSignificantAccountingPoliciesDetailsScheduleofEstimatedUsefulLivesofDepreciableAssetsTable" xlink:href="esp-20240630.xsd#esp_SummaryofSignificantAccountingPoliciesDetailsScheduleofEstimatedUsefulLivesofDepreciableAssetsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="esp_SummaryofSignificantAccountingPoliciesDetailsScheduleofEstimatedUsefulLivesofDepreciableAssetsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_RangeAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="esp_SummaryofSignificantAccountingPoliciesDetailsScheduleofEstimatedUsefulLivesofDepreciableAssetsTable" xlink:to="srt_RangeAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_RangeMember" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_RangeMember_0" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="esp_SummaryofSignificantAccountingPoliciesDetailsScheduleofEstimatedUsefulLivesofDepreciableAssetsTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_BuildingImprovementsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingImprovementsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_BuildingImprovementsMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_MachineryAndEquipmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_MachineryAndEquipmentMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FurnitureAndFixturesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FurnitureAndFixturesMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_FurnitureAndFixturesMember" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_MinimumMember" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_MaximumMember" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife" order="1" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/ScheduleofClassifiesInvestmentSecuritiesasAvailableforSaleTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfInvestmentsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfInvestmentsLineItems"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtSecuritiesAvailableForSaleTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FinancialInstrumentAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinancialInstrumentAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DebtSecuritiesAvailableForSaleTable" xlink:to="us-gaap_FinancialInstrumentAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CertificatesOfDepositMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CertificatesOfDepositMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_CertificatesOfDepositMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_MunicipalBondsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MunicipalBondsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_MunicipalBondsMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_USTreasuryBillSecuritiesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_USTreasuryBillSecuritiesMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_USTreasuryBillSecuritiesMember" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TradingSecuritiesDebtAmortizedCost" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TradingSecuritiesDebtAmortizedCost"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems" xlink:to="us-gaap_TradingSecuritiesDebtAmortizedCost" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" order="4" xbrldt:closed="true"/>
  </definitionLink>
<!-- [WMV6][XcpuxYn59dz7vgYynUDuwG7r97K2jUTysl7vcz0lJt/tSeJz73kx1cLt0ZFF2SK/vxBCY0vdSrYnt/FcukLonGvrL5wMA+ofwaqo4qMNOuQCZ4f5MsVOmOOAhEIki8WPj8IecsZEAIH93EFFuU1YNbJ9bq3A8pyccr+4dZb24Xm8ri5fUWvN9D2QbwLnSGEeGM9LkmeBq6kmBc6qbz0KTLZS42R+z5T+TvRKf196x1U02PcpSpWyFI0XkFnk2J6etumKnTtqhgnHWd8y9A65nb4JJN+PiV09Lp6c5W1Ly5m9v2l1EL6G94olFSBfy2KEtaGDP/EhoFJUtAUCH1Oq6DtFowQUV48s] CSR-->
  <definitionLink xlink:role="http://espey.com/role/ScheduleofContractualMaturitiesofAvailableforSaleDebtSecuritiesTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" order="2" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/ScheduleofContractsinProcessTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryNetAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNetAbstract"/>
    <loc xlink:type="locator" xlink:label="esp_UnrecognizedGrossContractValue" xlink:href="esp-20240630.xsd#esp_UnrecognizedGrossContractValue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InventoryNetAbstract" xlink:to="esp_UnrecognizedGrossContractValue" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryForLongTermContractsOrPrograms" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryForLongTermContractsOrPrograms"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InventoryNetAbstract" xlink:to="us-gaap_InventoryForLongTermContractsOrPrograms" order="1" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/ScheduleofPropertyPlantandEquipmentTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LandMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LandMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LandMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LandBuildingsAndImprovementsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LandBuildingsAndImprovementsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LandBuildingsAndImprovementsMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_MachineryAndEquipmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_MachineryAndEquipmentMember" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FurnitureAndFixturesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FurnitureAndFixturesMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_FurnitureAndFixturesMember" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" order="3" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/ScheduleofComponentsoftheProvisionforIncomeTaxesTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentFederalTaxExpenseBenefit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/ScheduleofEffectiveIncomeTaxRatesTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_IncreaseReductionInRateResultingFromAbstract" xlink:href="esp-20240630.xsd#esp_IncreaseReductionInRateResultingFromAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsAbstract" xlink:to="esp_IncreaseReductionInRateResultingFromAbstract" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="esp_IncreaseReductionInRateResultingFromAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_EffectiveIncomeTaxRateReconciliationESOPFairValue" xlink:href="esp-20240630.xsd#esp_EffectiveIncomeTaxRateReconciliationESOPFairValue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="esp_IncreaseReductionInRateResultingFromAbstract" xlink:to="esp_EffectiveIncomeTaxRateReconciliationESOPFairValue" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares" xlink:href="esp-20240630.xsd#esp_EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="esp_IncreaseReductionInRateResultingFromAbstract" xlink:to="esp_EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="esp_IncreaseReductionInRateResultingFromAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="esp_IncreaseReductionInRateResultingFromAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations" order="2" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsNetAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredIncomeTaxesAbstract" xlink:to="us-gaap_DeferredTaxAssetsNetAbstract" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther" xlink:to="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_DeferredTaxAssetsPensionWithdrawal" xlink:href="esp-20240630.xsd#esp_DeferredTaxAssetsPensionWithdrawal"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther" xlink:to="esp_DeferredTaxAssetsPensionWithdrawal" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsGross"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:to="us-gaap_DeferredTaxAssetsGross" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesNetAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredIncomeTaxesAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesNetAbstract" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesPrepaidExpenses"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:to="us-gaap_DeferredIncomeTaxLiabilities" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_DeferredTaxAssetLiability" xlink:href="esp-20240630.xsd#esp_DeferredTaxAssetLiability"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredIncomeTaxesAbstract" xlink:to="esp_DeferredTaxAssetLiability" order="2" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/ScheduleofESOPSharesTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOPAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOPAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOPAbstract" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPNumberOfSuspenseShares" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPNumberOfSuspenseShares"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOPAbstract" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPNumberOfSuspenseShares" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOP" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOP"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOPAbstract" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOP" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPDeferredSharesFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPDeferredSharesFairValue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOPAbstract" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPDeferredSharesFairValue" order="3" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/ScheduleofWeightedAverageAssumptionsofOptionAwardTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_FairValueInputsQuantitativeInformationAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueInputsQuantitativeInformationAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueInputsQuantitativeInformationAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueInputsQuantitativeInformationAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueInputsQuantitativeInformationAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueInputsQuantitativeInformationAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueInputsQuantitativeInformationAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" order="4" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/ScheduleofStockOptionActivityTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:href="esp-20240630.xsd#esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems"/>
    <loc xlink:type="locator" xlink:label="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityTable" xlink:href="esp-20240630.xsd#esp_StockbasedCompensationDetailsScheduleofStockOptionActivityTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AwardTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityTable" xlink:to="us-gaap_AwardTypeAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockOptionMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockOptionMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_StockOptionMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_SharebasedCompensationArrangementsBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:href="esp-20240630.xsd#esp_SharebasedCompensationArrangementsBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="esp_SharebasedCompensationArrangementsBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" order="7" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" order="8" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" order="9" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTerm2" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTerm2"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTerm2" order="11" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" order="12" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" order="13" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" order="14" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_WeightedAverageRemainingContrSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTermactualTermGranted" xlink:href="esp-20240630.xsd#esp_WeightedAverageRemainingContrSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTermactualTermGranted"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="esp_WeightedAverageRemainingContrSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTermactualTermGranted" order="15" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" order="16" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" order="17" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" order="18" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" order="19" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/ScheduleofChangesinNonVestedStockOptionsTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" order="7" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/ScheduleofReservedCommonSharesforFutureIssuanceTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_TemporaryEquityLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TemporaryEquityLineItems"/>
    <loc xlink:type="locator" xlink:label="esp_StockholdersEquityDetailsScheduleofReservedCommonSharesforFutureIssuanceTable" xlink:href="esp-20240630.xsd#esp_StockholdersEquityDetailsScheduleofReservedCommonSharesforFutureIssuanceTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_TemporaryEquityLineItems" xlink:to="esp_StockholdersEquityDetailsScheduleofReservedCommonSharesforFutureIssuanceTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="esp_StockholdersEquityDetailsScheduleofReservedCommonSharesforFutureIssuanceTable" xlink:to="us-gaap_StatementEquityComponentsAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EquityComponentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EquityComponentDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TemporaryEquityLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TemporaryEquityLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TemporaryEquityLineItems" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" order="3" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/ScheduleofReconciliationoftheNumeratorsandDenominatorsoftheBasicandDilutedEarningsPerShareComputationsTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_NetIncomeLoss" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockOtherSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockOtherSharesOutstanding"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:to="us-gaap_CommonStockOtherSharesOutstanding" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesIssuedBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesIssuedBasic"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesIssuedBasic" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesContingentlyIssuable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesContingentlyIssuable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesContingentlyIssuable" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesCommonStockSubjectToRepurchaseOrCancellation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesCommonStockSubjectToRepurchaseOrCancellation"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesCommonStockSubjectToRepurchaseOrCancellation" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" order="2" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/SummaryofSignificantAccountingPoliciesDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <loc xlink:type="locator" xlink:label="esp_ContractExtendTerm" xlink:href="esp-20240630.xsd#esp_ContractExtendTerm"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="esp_ContractExtendTerm" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountsReceivableNetCurrent" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ImpairmentOfLongLivedAssetsToBeDisposedOf" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOfLongLivedAssetsToBeDisposedOf"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ImpairmentOfLongLivedAssetsToBeDisposedOf" order="3" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/RevenueDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_DisaggregationOfRevenueLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <loc xlink:type="locator" xlink:label="esp_RevenueDetailsTable" xlink:href="esp-20240630.xsd#esp_RevenueDetailsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="esp_RevenueDetailsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_StatementScenarioAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementScenarioAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="esp_RevenueDetailsTable" xlink:to="srt_StatementScenarioAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ScenarioUnspecifiedDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioUnspecifiedDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ScenarioUnspecifiedDomain_0" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioUnspecifiedDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="esp_RevenueDetailsTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TypeOfAdoptionMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfAdoptionMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TypeOfAdoptionMember_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfAdoptionMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="esp_RevenueDetailsTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_UnitsDeliveredMember" xlink:href="esp-20240630.xsd#esp_UnitsDeliveredMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ScenarioUnspecifiedDomain" xlink:to="esp_UnitsDeliveredMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_MilestonesAchievedMember" xlink:href="esp-20240630.xsd#esp_MilestonesAchievedMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ScenarioUnspecifiedDomain" xlink:to="esp_MilestonesAchievedMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_ASC606Member" xlink:href="esp-20240630.xsd#esp_ASC606Member"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="esp_ASC606Member" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OrderOrProductionBacklogMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OrderOrProductionBacklogMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_OrderOrProductionBacklogMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Revenues" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_Revenues" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ContractWithCustomerLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiability"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_ContractWithCustomerLiability" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_BacklogPercentageOfRecognitionsYearOne" xlink:href="esp-20240630.xsd#esp_BacklogPercentageOfRecognitionsYearOne"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="esp_BacklogPercentageOfRecognitionsYearOne" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_BacklogPercentageOfRecognitionsYearTwo" xlink:href="esp-20240630.xsd#esp_BacklogPercentageOfRecognitionsYearTwo"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="esp_BacklogPercentageOfRecognitionsYearTwo" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_BacklogPercentageOfRecognitionsYearThree" xlink:href="esp-20240630.xsd#esp_BacklogPercentageOfRecognitionsYearThree"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="esp_BacklogPercentageOfRecognitionsYearThree" order="7" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_BacklogPercentageOfRecognitions" xlink:href="esp-20240630.xsd#esp_BacklogPercentageOfRecognitions"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="esp_BacklogPercentageOfRecognitions" order="8" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/PropertyPlantandEquipmentDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <loc xlink:type="locator" xlink:label="esp_PropertyPlantandEquipmentDetailsTable" xlink:href="esp-20240630.xsd#esp_PropertyPlantandEquipmentDetailsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="esp_PropertyPlantandEquipmentDetailsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FairValueByAssetClassAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueByAssetClassAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="esp_PropertyPlantandEquipmentDetailsTable" xlink:to="us-gaap_FairValueByAssetClassAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FairValueByAssetClassAxis" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FairValueByAssetClassAxis" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:to="us-gaap_PropertyPlantAndEquipmentMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Depreciation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Depreciation"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_Depreciation" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EquipmentExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquipmentExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_EquipmentExpense" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsOther" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsOther"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_DeferredTaxAssetsOther" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_TotalMilestoneReimbursementsReceivedAmount" xlink:href="esp-20240630.xsd#esp_TotalMilestoneReimbursementsReceivedAmount"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="esp_TotalMilestoneReimbursementsReceivedAmount" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentOtherNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentOtherNet"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentOtherNet" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableCurrentAndNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrentAndNoncurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_AccountsPayableCurrentAndNoncurrent" order="6" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/PensionExpenseDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems"/>
    <loc xlink:type="locator" xlink:label="esp_PensionExpenseDetailsTable" xlink:href="esp-20240630.xsd#esp_PensionExpenseDetailsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:to="esp_PensionExpenseDetailsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="esp_PensionExpenseDetailsTable" xlink:to="us-gaap_SubsequentEventTypeAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventTypeDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionAndOtherPostretirementBenefitExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitExpense" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_MultiemployerPlansWithdrawalObligation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MultiemployerPlansWithdrawalObligation"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:to="us-gaap_MultiemployerPlansWithdrawalObligation" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PensionContributions" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionContributions"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:to="us-gaap_PensionContributions" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLiabilities"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:to="us-gaap_OtherLiabilities" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_MultiemployerPlanPensionSignificantPlanContribution" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MultiemployerPlanPensionSignificantPlanContribution"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:to="us-gaap_MultiemployerPlanPensionSignificantPlanContribution" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_DefinedContributionPlanEmployersMatchingContribution" xlink:href="esp-20240630.xsd#esp_DefinedContributionPlanEmployersMatchingContribution"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:to="esp_DefinedContributionPlanEmployersMatchingContribution" order="7" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/ProvisionforIncomeTaxesDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxContingencyLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxContingencyLineItems"/>
    <loc xlink:type="locator" xlink:label="esp_ProvisionforIncomeTaxesDetailsTable" xlink:href="esp-20240630.xsd#esp_ProvisionforIncomeTaxesDetailsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="esp_ProvisionforIncomeTaxesDetailsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashAndCashEquivalentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="esp_ProvisionforIncomeTaxesDetailsTable" xlink:to="us-gaap_CashAndCashEquivalentsAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_CashAndCashEquivalentsAxis" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_CashAndCashEquivalentsAxis" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_USFederalAndStateMember" xlink:href="esp-20240630.xsd#esp_USFederalAndStateMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="esp_USFederalAndStateMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" order="2" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/SignificantCustomersDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskLineItems"/>
    <loc xlink:type="locator" xlink:label="esp_SignificantCustomersDetailsTable" xlink:href="esp-20240630.xsd#esp_SignificantCustomersDetailsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="esp_SignificantCustomersDetailsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="esp_SignificantCustomersDetailsTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskTypeDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_MajorCustomersAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="esp_SignificantCustomersDetailsTable" xlink:to="srt_MajorCustomersAxis" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_NameOfMajorCustomerDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_NameOfMajorCustomerDomain_0" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="esp_SignificantCustomersDetailsTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_FiveCustomersMember" xlink:href="esp-20240630.xsd#esp_FiveCustomersMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="esp_FiveCustomersMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SalesRevenueNetMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesRevenueNetMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_AccountsReceivableMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskPercentage1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SalesTypeLeaseRevenue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesTypeLeaseRevenue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_SalesTypeLeaseRevenue" order="2" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/EmployeeStockOwnershipPlanDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresLineItems"/>
    <loc xlink:type="locator" xlink:label="esp_EmployeeStockOwnershipPlanDetailsTable" xlink:href="esp-20240630.xsd#esp_EmployeeStockOwnershipPlanDetailsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresLineItems" xlink:to="esp_EmployeeStockOwnershipPlanDetailsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="esp_EmployeeStockOwnershipPlanDetailsTable" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_EmployeeStockOwnershipPlanMember" xlink:href="esp-20240630.xsd#esp_EmployeeStockOwnershipPlanMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain" xlink:to="esp_EmployeeStockOwnershipPlanMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_EmployeeStockOwnershipPlanHoursWorked" xlink:href="esp-20240630.xsd#esp_EmployeeStockOwnershipPlanHoursWorked"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresLineItems" xlink:to="esp_EmployeeStockOwnershipPlanHoursWorked" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPCompensationExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresLineItems" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPCompensationExpense" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockIssuedDuringPeriodSharesEmployeeBenefitPlan" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeBenefitPlan"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesEmployeeBenefitPlan" order="4" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/StockbasedCompensationDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems"/>
    <loc xlink:type="locator" xlink:label="esp_StockbasedCompensationDetailsTable" xlink:href="esp-20240630.xsd#esp_StockbasedCompensationDetailsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="esp_StockbasedCompensationDetailsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PlanNameAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="esp_StockbasedCompensationDetailsTable" xlink:to="us-gaap_PlanNameAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PlanNameDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_TitleOfIndividualAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="esp_StockbasedCompensationDetailsTable" xlink:to="srt_TitleOfIndividualAxis" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_0" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_RangeAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="esp_StockbasedCompensationDetailsTable" xlink:to="srt_RangeAxis" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_RangeMember" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_RangeMember_0" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AwardTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="esp_StockbasedCompensationDetailsTable" xlink:to="us-gaap_AwardTypeAxis" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_NonQualifiedStockOptionsMember" xlink:href="esp-20240630.xsd#esp_NonQualifiedStockOptionsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="esp_NonQualifiedStockOptionsMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_IncentiveStockOptionMember" xlink:href="esp-20240630.xsd#esp_IncentiveStockOptionMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="esp_IncentiveStockOptionMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockMember" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_RestrictedStockPlanMember" xlink:href="esp-20240630.xsd#esp_RestrictedStockPlanMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="esp_RestrictedStockPlanMember" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_TwoThousandSeventeenPlanMember" xlink:href="esp-20240630.xsd#esp_TwoThousandSeventeenPlanMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="esp_TwoThousandSeventeenPlanMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_TwoThousandSevenPlanMember" xlink:href="esp-20240630.xsd#esp_TwoThousandSevenPlanMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="esp_TwoThousandSevenPlanMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_MaximumMember" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_NonEmployeeDirectorsMember" xlink:href="esp-20240630.xsd#esp_NonEmployeeDirectorsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="esp_NonEmployeeDirectorsMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_IndividualEmployeeMember" xlink:href="esp-20240630.xsd#esp_IndividualEmployeeMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="esp_IndividualEmployeeMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredOtherTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredOtherTaxExpenseBenefit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="us-gaap_DeferredOtherTaxExpenseBenefit" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_PercentageOfTotalNumberOfSharesSubjectToOptionsOrAwardsSingleFiscalYear" xlink:href="esp-20240630.xsd#esp_PercentageOfTotalNumberOfSharesSubjectToOptionsOrAwardsSingleFiscalYear"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="esp_PercentageOfTotalNumberOfSharesSubjectToOptionsOrAwardsSingleFiscalYear" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" order="7" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" order="8" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercised" xlink:href="esp-20240630.xsd#esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercised"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercised" order="9" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestCancelled" xlink:href="esp-20240630.xsd#esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestCancelled"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestCancelled" order="11" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" order="12" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionOutstandingNumber" xlink:href="esp-20240630.xsd#esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionOutstandingNumber"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionOutstandingNumber" order="13" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharePrice"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="us-gaap_SharePrice" order="14" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" order="15" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/ConcentrationofCreditRiskDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskLineItems"/>
    <loc xlink:type="locator" xlink:label="esp_ConcentrationofCreditRiskDetailsTable" xlink:href="esp-20240630.xsd#esp_ConcentrationofCreditRiskDetailsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="esp_ConcentrationofCreditRiskDetailsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="esp_ConcentrationofCreditRiskDetailsTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskTypeDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_MajorCustomersAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="esp_ConcentrationofCreditRiskDetailsTable" xlink:to="srt_MajorCustomersAxis" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_NameOfMajorCustomerDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_NameOfMajorCustomerDomain_0" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="esp_ConcentrationofCreditRiskDetailsTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_FiveCustomersMember" xlink:href="esp-20240630.xsd#esp_FiveCustomersMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="esp_FiveCustomersMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_AccountsReceivableMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskPercentage1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" order="1" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/CommitmentsandContingenciesDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LettersOfCreditOutstandingAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LettersOfCreditOutstandingAmount"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_LettersOfCreditOutstandingAmount" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/StockholdersEquityDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquityNoteAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityNoteAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityNoteAbstract" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockDividendsPerShareCashPaid" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockDividendsPerShareCashPaid"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityNoteAbstract" xlink:to="us-gaap_CommonStockDividendsPerShareCashPaid" order="1" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/LineofCreditDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityAbstract" xlink:to="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="esp_FloatingRatePercentage" xlink:href="esp-20240630.xsd#esp_FloatingRatePercentage"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityAbstract" xlink:to="esp_FloatingRatePercentage" order="1" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://espey.com/role/ScheduleofQuarterlyFinancialInformationDetailsScheduleofQuarterlyFinancialInformation" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Revenues" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_Revenues" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GrossProfit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_GrossProfit" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_NetIncomeLoss" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_EarningsPerShareBasic" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" order="4" xbrldt:closed="true"/>
  </definitionLink>
</linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>13
<FILENAME>esp-20240630_lab.xml
<DESCRIPTION>XBRL LABEL FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!-- Generated by CompSci Transform (tm) - http://www.compsciresources.com -->
<!-- Created: Thu Sep 26 20:44:29 UTC 2024 -->
<linkbase xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" roleURI="http://www.xbrl.org/2009/role/netLabel"/>
  <roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" roleURI="http://www.xbrl.org/2009/role/negatedLabel"/>
  <labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_InventoryNet_lbl" xml:lang="en-US">Total inventories</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AssetsCurrent_lbl" xml:lang="en-US">Total current assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Assets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US">Total assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US">Total current liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Liabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Liabilities_lbl" xml:lang="en-US">Total liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_TotalStockholdersEquityBeforyEsopAndTreasuryStock" xlink:href="esp-20240630.xsd#esp_TotalStockholdersEquityBeforyEsopAndTreasuryStock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="esp_TotalStockholdersEquityBeforyEsopAndTreasuryStock_lbl" xml:lang="en-US">Total stockholders equity before ESOP</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_TotalStockholdersEquityBeforyEsopAndTreasuryStock" xlink:to="esp_TotalStockholdersEquityBeforyEsopAndTreasuryStock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US">Total stockholders&apos; equity</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_StockholdersEquity_lbl0" xml:lang="en-US">Balances</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_StockholdersEquity_lbl1" xml:lang="en-US">Balances</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xml:lang="en-US">Total liabilities and stockholders&apos; equity</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GrossProfit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US">Gross profit</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GrossProfit_lbl0" xml:lang="en-US">Gross Profit</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US">Operating income</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl" xml:lang="en-US">Total other income</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetIncomeLoss_lbl" xml:lang="en-US">Net income</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetIncomeLoss_lbl0" xml:lang="en-US">Net income</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:label="us-gaap_NetIncomeLoss_lbl1" xml:lang="en-US">Net income (in Dollars)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xml:lang="en-US">Total comprehensive income</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xml:lang="en-US">Balances (in Shares)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl0" xml:lang="en-US">Balances (in Shares)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl1" xml:lang="en-US">Common stock, shares outstanding</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl" xml:lang="en-US">Equity Components [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US">Net cash provided by operating activities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US">Net cash used in investing activities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xml:lang="en-US">Net cash used in financing activities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_lbl" xml:lang="en-US">Increase (decrease) in cash and cash equivalents</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US">Cash and cash equivalents, beginning of the year</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl0" xml:lang="en-US">Cash and cash equivalents, end of the year</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_lbl" xml:lang="en-US">Nature of Operations [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountingPoliciesAbstract_lbl" xml:lang="en-US">Summary of Significant Accounting Policies [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xml:lang="en-US">Long-Lived Tangible Asset [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_RangeAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeAxis_lbl" xml:lang="en-US">Statistical Measurement [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeAxis" xlink:to="srt_RangeAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RevenuesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenuesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenuesAbstract_lbl" xml:lang="en-US">Revenue [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenuesAbstract" xlink:to="us-gaap_RevenuesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InvestmentsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentsAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentsAbstract_lbl" xml:lang="en-US">Investment Securities [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentsAbstract" xlink:to="us-gaap_InvestmentsAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FinancialInstrumentAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinancialInstrumentAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinancialInstrumentAxis_lbl" xml:lang="en-US">Financial Instrument [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_FinancialInstrumentAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract_lbl" xml:lang="en-US">Schedule of Contractual Maturities of Available-for-Sale Debt Securities [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ContractorsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractorsAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractorsAbstract_lbl" xml:lang="en-US">Contracts in Process [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractorsAbstract" xlink:to="us-gaap_ContractorsAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryNetAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNetAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryNetAbstract_lbl" xml:lang="en-US">Schedule of Contracts In Process [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNetAbstract" xlink:to="us-gaap_InventoryNetAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" xml:lang="en-US">Property, Plant and Equipment [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US">Property, plant and equipment, net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl0" xml:lang="en-US">Property, plant and equipment, net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract_lbl" xml:lang="en-US">Pension Expense [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_CompensationAndRetirementDisclosureAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_lbl" xml:lang="en-US">Provision for Income Taxes [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US">Schedule of Components of the Provision for Income Taxes [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Provision for income taxes</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl0" xml:lang="en-US">Provision for income taxes</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsAbstract_lbl" xml:lang="en-US">Schedule of Effective Income Tax Rates [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xml:lang="en-US">Effective tax rate</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxesAbstract_lbl" xml:lang="en-US">Schedule of Deferred Tax Assets and Liabilities [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxesAbstract" xlink:to="us-gaap_DeferredIncomeTaxesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsGross"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredTaxAssetsGross_lbl" xml:lang="en-US">Total deferred tax assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsGross_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_lbl" xml:lang="en-US">Total deferred tax liability</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_DeferredTaxAssetLiability" xlink:href="esp-20240630.xsd#esp_DeferredTaxAssetLiability"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="esp_DeferredTaxAssetLiability_lbl" xml:lang="en-US">Net deferred tax asset (liability)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_DeferredTaxAssetLiability" xlink:to="esp_DeferredTaxAssetLiability_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRisksTypesNoConcentrationPercentageAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRisksTypesNoConcentrationPercentageAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRisksTypesNoConcentrationPercentageAbstract_lbl" xml:lang="en-US">Significant Customers [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRisksTypesNoConcentrationPercentageAbstract" xlink:to="us-gaap_ConcentrationRisksTypesNoConcentrationPercentageAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharesHeldInEmployeeStockOwnershipPlanAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesHeldInEmployeeStockOwnershipPlanAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharesHeldInEmployeeStockOwnershipPlanAbstract_lbl" xml:lang="en-US">Employee Stock Ownership Plan [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesHeldInEmployeeStockOwnershipPlanAbstract" xlink:to="us-gaap_SharesHeldInEmployeeStockOwnershipPlanAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOPAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOPAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOPAbstract_lbl" xml:lang="en-US">Schedule of ESOP Shares [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOPAbstract" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOPAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOP" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOP"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOP_lbl" xml:lang="en-US">Total shares held by the ESOP</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOP" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOP_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xml:lang="en-US">Stock Based Compensation [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FairValueInputsQuantitativeInformationAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueInputsQuantitativeInformationAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueInputsQuantitativeInformationAbstract_lbl" xml:lang="en-US">Schedule of Outlines the Weighted Average Assumptions [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsQuantitativeInformationAbstract" xlink:to="us-gaap_FairValueInputsQuantitativeInformationAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAggregateDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationAggregateDisclosuresAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAggregateDisclosuresAbstract_lbl" xml:lang="en-US">Schedule of Stock Option Activity [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationAggregateDisclosuresAbstract" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationAggregateDisclosuresAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US">Number of Shares Subject to Option, Ending</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl0" xml:lang="en-US">Stock options outstanding</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price, Ending</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xml:lang="en-US">Aggregate Intrinsic Value, Ending</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_lbl" xml:lang="en-US">Schedule of Changes in Non-Vested Stock Options [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_lbl" xml:lang="en-US">Weighted Number of Shares Subject to Option, Non-vested Beginning</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_lbl0" xml:lang="en-US">Weighted Number of Shares Subject to Option, Non-vested Ending</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Average Grant Date Fair Value (per Option), Non-vested Beginning</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_lbl0" xml:lang="en-US">Average Grant Date Fair Value (per Option), Non-vested Ending</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RisksAndUncertaintiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RisksAndUncertaintiesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RisksAndUncertaintiesAbstract_lbl" xml:lang="en-US">Concentration of Credit Risk [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RisksAndUncertaintiesAbstract" xlink:to="us-gaap_RisksAndUncertaintiesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsAbstract_lbl" xml:lang="en-US">Related Parties [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsAbstract" xlink:to="us-gaap_RelatedPartyTransactionsAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" xml:lang="en-US">Commitments and Contingencies [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquityNoteAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityNoteAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityNoteAbstract_lbl" xml:lang="en-US">Stockholders&apos; Equity [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityNoteAbstract" xlink:to="us-gaap_StockholdersEquityNoteAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl" xml:lang="en-US">Number of common shares reserved</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityAbstract_lbl" xml:lang="en-US">Schedule of Reconciliation of the Numerators and Denominators of the Basic and Diluted Earnings Per Share Computations [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityAbstract_lbl" xml:lang="en-US">Line of Credit [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityAbstract" xlink:to="us-gaap_LineOfCreditFacilityAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_QuarterlyFinancialInformationDisclosureAbstract_lbl" xml:lang="en-US">Quarterly Financial Information (Unaudited) [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_QuarterlyFinancialInformationDisclosureAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AssetsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetsAbstract_lbl" xml:lang="en-US">ASSETS</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US">Cash and cash equivalents</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_lbl" xml:lang="en-US">Investment securities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_lbl0" xml:lang="en-US">Fair Value</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US">Trade accounts receivable, less allowance for credit losses of $3,000</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl0" xml:lang="en-US">Accounts receivable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US">Trade accounts receivable, allowance (in Dollars)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl0" xml:lang="en-US">Allowance for credit allowances</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxesReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesReceivable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxesReceivable_lbl" xml:lang="en-US">Income tax receivable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesReceivable" xlink:to="us-gaap_IncomeTaxesReceivable_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract" xlink:to="esp_UnlabeledAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_InventoriesAbstract" xlink:href="esp-20240630.xsd#esp_InventoriesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_InventoriesAbstract_lbl" xml:lang="en-US">Inventories:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_InventoriesAbstract" xlink:to="esp_InventoriesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryRawMaterials" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterials"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryRawMaterials_lbl" xml:lang="en-US">Raw materials</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryRawMaterials" xlink:to="us-gaap_InventoryRawMaterials_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryWorkInProcess" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcess"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryWorkInProcess_lbl" xml:lang="en-US">Work-in-process</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryWorkInProcess" xlink:to="us-gaap_InventoryWorkInProcess_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryForLongTermContractsOrPrograms" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryForLongTermContractsOrPrograms"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryForLongTermContractsOrPrograms_lbl" xml:lang="en-US">Costs related to contracts in process</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryForLongTermContractsOrPrograms" xlink:to="us-gaap_InventoryForLongTermContractsOrPrograms_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract0" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract0_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract0" xlink:to="esp_UnlabeledAbstract0_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_DeferredTaxAssetsCurrent" xlink:href="esp-20240630.xsd#esp_DeferredTaxAssetsCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_DeferredTaxAssetsCurrent_lbl" xml:lang="en-US">Deferred tax asset</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_DeferredTaxAssetsCurrent" xlink:to="esp_DeferredTaxAssetsCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xml:lang="en-US">Prepaid expenses and other current assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract1" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract1_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract1" xlink:to="esp_UnlabeledAbstract1_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract2" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract2"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract2_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract2" xlink:to="esp_UnlabeledAbstract2_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xml:lang="en-US">LIABILITIES AND STOCKHOLDERS&apos; EQUITY</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xml:lang="en-US">Accounts payable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableCurrent" xlink:to="us-gaap_AccountsPayableCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_AccruedExpensesAbstract" xlink:href="esp-20240630.xsd#esp_AccruedExpensesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_AccruedExpensesAbstract_lbl" xml:lang="en-US">Accrued expenses:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_AccruedExpensesAbstract" xlink:to="esp_AccruedExpensesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccruedSalariesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedSalariesCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccruedSalariesCurrent_lbl" xml:lang="en-US">Salaries and wages</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedSalariesCurrent" xlink:to="us-gaap_AccruedSalariesCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccruedVacationCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedVacationCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccruedVacationCurrent_lbl" xml:lang="en-US">Vacation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedVacationCurrent" xlink:to="us-gaap_AccruedVacationCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherEmployeeRelatedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherEmployeeRelatedLiabilitiesCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherEmployeeRelatedLiabilitiesCurrent_lbl" xml:lang="en-US">Other</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherEmployeeRelatedLiabilitiesCurrent" xlink:to="us-gaap_OtherEmployeeRelatedLiabilitiesCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccruedPayrollTaxesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedPayrollTaxesCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccruedPayrollTaxesCurrent_lbl" xml:lang="en-US">Payroll and other taxes withheld</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedPayrollTaxesCurrent" xlink:to="us-gaap_AccruedPayrollTaxesCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US">Contract liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TaxesPayableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxesPayableCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TaxesPayableCurrent_lbl" xml:lang="en-US">Income taxes payable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxesPayableCurrent" xlink:to="us-gaap_TaxesPayableCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract3" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract3"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract3_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract3" xlink:to="esp_UnlabeledAbstract3_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_DeferredTaxLiability" xlink:href="esp-20240630.xsd#esp_DeferredTaxLiability"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_DeferredTaxLiability_lbl" xml:lang="en-US">Deferred tax liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_DeferredTaxLiability" xlink:to="esp_DeferredTaxLiability_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract4" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract4"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract4_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract4" xlink:to="esp_UnlabeledAbstract4_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommitmentsAndContingencies" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xml:lang="en-US">Commitments and Contingencies (See Note 14)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract5" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract5"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract5_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract5" xlink:to="esp_UnlabeledAbstract5_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_CommonStockParValue3313PerShareAbstract" xlink:href="esp-20240630.xsd#esp_CommonStockParValue3313PerShareAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_CommonStockParValue3313PerShareAbstract_lbl" xml:lang="en-US">Common stock, par value $.33-1/3 per share</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_CommonStockParValue3313PerShareAbstract" xlink:to="esp_CommonStockParValue3313PerShareAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockValue_lbl" xml:lang="en-US">Common stock, par value $.33-1/3 per share	Authorized 10,000,000 shares; Issued 3,129,874 shares as of June 30, 2024 and 2023. Outstanding 2,733,958 and 2,702,633 shares as of June 30, 2024 and 2023, respectively (includes 211,487 and 233,645 Unearned ESOP Shares, respectively)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xml:lang="en-US">Common stock, shares authorized</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US">Common stock, shares issued</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesHeldInEmployeeTrustShares" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesHeldInEmployeeTrustShares"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockSharesHeldInEmployeeTrustShares_lbl" xml:lang="en-US">Unearned ESOP shares</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesHeldInEmployeeTrustShares" xlink:to="us-gaap_CommonStockSharesHeldInEmployeeTrustShares_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xml:lang="en-US">Common stock, par value (in Dollars per share)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xml:lang="en-US">Capital in excess of par value</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US">Accumulated other comprehensive gain (loss)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US">Retained earnings</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract6" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract6"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract6_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract6" xlink:to="esp_UnlabeledAbstract6_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockCommonShares" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonShares"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TreasuryStockCommonShares_lbl" xml:lang="en-US">Treasury stock, shares</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonShares" xlink:to="us-gaap_TreasuryStockCommonShares_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract7" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract7"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract7_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract7" xlink:to="esp_UnlabeledAbstract7_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Revenues" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Revenues_lbl" xml:lang="en-US">Net sales</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_Revenues_lbl0" xml:lang="en-US">Revenues</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:label="us-gaap_Revenues_lbl1" xml:lang="en-US">Revenue</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_lbl1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CostOfRevenue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfRevenue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CostOfRevenue_lbl" xml:lang="en-US">Cost of sales</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfRevenue" xlink:to="us-gaap_CostOfRevenue_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract8" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract8"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract8_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract8" xlink:to="esp_UnlabeledAbstract8_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_lbl" xml:lang="en-US">Selling, general and administrative expenses</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract9" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract9"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract9_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract9" xlink:to="esp_UnlabeledAbstract9_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherIncomeAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherIncomeAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherIncomeAbstract_lbl" xml:lang="en-US">Other income</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherIncomeAbstract" xlink:to="us-gaap_OtherIncomeAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InvestmentIncomeInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentIncomeInterest"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InvestmentIncomeInterest_lbl" xml:lang="en-US">Interest income</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentIncomeInterest" xlink:to="us-gaap_InvestmentIncomeInterest_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherNonoperatingIncome" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncome"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherNonoperatingIncome_lbl" xml:lang="en-US">Other</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncome" xlink:to="us-gaap_OtherNonoperatingIncome_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract10" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract10"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract10_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract10" xlink:to="esp_UnlabeledAbstract10_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US">Income before provision for income taxes</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract11" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract11"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract11_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract11" xlink:to="esp_UnlabeledAbstract11_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract12" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract12"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract12_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract12" xlink:to="esp_UnlabeledAbstract12_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract13" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract13"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract13_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract13" xlink:to="esp_UnlabeledAbstract13_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_lbl" xml:lang="en-US">Other comprehensive income, net of tax:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_lbl" xml:lang="en-US">Unrealized gain (loss) on investment securities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract14" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract14"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract14_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract14" xlink:to="esp_UnlabeledAbstract14_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract15" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract15"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract15_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract15" xlink:to="esp_UnlabeledAbstract15_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xml:lang="en-US">Net income per share:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US">Basic (in Dollars per share)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareBasic_lbl0" xml:lang="en-US">Earnings Per Share, Basic (in Dollars per share)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US">Diluted (in Dollars per share)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareDiluted_lbl0" xml:lang="en-US">Earnings Per Share, Diluted (in Dollars per share)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl0"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract16" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract16"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract16_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract16" xlink:to="esp_UnlabeledAbstract16_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl" xml:lang="en-US">Weighted average number of shares outstanding:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl0" xml:lang="en-US">Diluted EPS:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US">Basic (in Shares)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl0" xml:lang="en-US">Denominator for basic earnings per common shares &#8211; Weighted average common shares</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US">Diluted (in Shares)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl0" xml:lang="en-US">Denominator for diluted earnings per common shares &#8211; Weighted average common shares</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl0"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract17" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract17"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract17_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract17" xlink:to="esp_UnlabeledAbstract17_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_ComprehensiveIncomeAbstract" xlink:href="esp-20240630.xsd#esp_ComprehensiveIncomeAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_ComprehensiveIncomeAbstract_lbl" xml:lang="en-US">Comprehensive income:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ComprehensiveIncomeAbstract" xlink:to="esp_ComprehensiveIncomeAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract18" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract18"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract18_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract18" xlink:to="esp_UnlabeledAbstract18_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract19" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract19"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract19_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract19" xlink:to="esp_UnlabeledAbstract19_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax_lbl" xml:lang="en-US">Other comprehensive income, net of tax</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_lbl" xml:lang="en-US">Other comprehensive income, net of tax</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" xlink:to="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract20" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract20"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract20_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract20" xlink:to="esp_UnlabeledAbstract20_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract21" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract21"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract21_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract21" xlink:to="esp_UnlabeledAbstract21_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition_lbl" xml:lang="en-US">Stock-based compensation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract22" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract22"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract22_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract22" xlink:to="esp_UnlabeledAbstract22_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockDividendsPerShareCashPaid" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockDividendsPerShareCashPaid"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockDividendsPerShareCashPaid_lbl" xml:lang="en-US">Dividends paid on common stock per share</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockDividendsPerShareCashPaid" xlink:to="us-gaap_CommonStockDividendsPerShareCashPaid_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommonStockDividendsPerShareCashPaid_lbl0" xml:lang="en-US">Common stock cash dividend per share</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockDividendsPerShareCashPaid" xlink:to="us-gaap_CommonStockDividendsPerShareCashPaid_lbl0"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract23" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract23"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract23_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract23" xlink:to="esp_UnlabeledAbstract23_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan_lbl" xml:lang="en-US">Reduction of unearned ESOP shares</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" xlink:to="us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract24" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract24"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract24_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract24" xlink:to="esp_UnlabeledAbstract24_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract25" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract25"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract25_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract25" xlink:to="esp_UnlabeledAbstract25_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_ComprehensiveIncomeAbstract0" xlink:href="esp-20240630.xsd#esp_ComprehensiveIncomeAbstract0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_ComprehensiveIncomeAbstract0_lbl" xml:lang="en-US">Comprehensive income:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ComprehensiveIncomeAbstract0" xlink:to="esp_ComprehensiveIncomeAbstract0_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract26" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract26"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract26_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract26" xlink:to="esp_UnlabeledAbstract26_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract27" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract27"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract27_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract27" xlink:to="esp_UnlabeledAbstract27_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract28" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract28"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract28_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract28" xlink:to="esp_UnlabeledAbstract28_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract29" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract29"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract29_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract29" xlink:to="esp_UnlabeledAbstract29_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US">Stock options exercised (in Shares)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl0" xml:lang="en-US">Number of Shares Subject to Option, Exercised</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl0"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract30" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract30"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract30_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract30" xlink:to="esp_UnlabeledAbstract30_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract31" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract31"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract31_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract31" xlink:to="esp_UnlabeledAbstract31_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract32" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract32"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract32_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract32" xlink:to="esp_UnlabeledAbstract32_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract33" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract33"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract33_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract33" xlink:to="esp_UnlabeledAbstract33_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Cash Flows from Operating Activities:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract34" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract34"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract34_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract34" xlink:to="esp_UnlabeledAbstract34_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Adjustments to reconcile net income to net cash provided by operating activities:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US">Stock-based compensation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Depreciation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Depreciation"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Depreciation_lbl" xml:lang="en-US">Depreciation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Depreciation" xlink:to="us-gaap_Depreciation_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_Depreciation_lbl0" xml:lang="en-US">Depreciation expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Depreciation" xlink:to="us-gaap_Depreciation_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPCompensationExpense"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPCompensationExpense_lbl" xml:lang="en-US">ESOP compensation expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPCompensationExpense" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPCompensationExpense_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Deferred income tax benefit</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl0" xml:lang="en-US">Deferred tax benefit</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl0"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract35" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract35"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract35_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract35" xlink:to="esp_UnlabeledAbstract35_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xml:lang="en-US">Changes in assets and liabilities:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_lbl" xml:lang="en-US">Increase (decrease) in accounts payable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccruedSalaries" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedSalaries"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccruedSalaries_lbl" xml:lang="en-US">Increase in accrued salaries and wages</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedSalaries" xlink:to="us-gaap_IncreaseDecreaseInAccruedSalaries_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_IncreaseDecreaseInVacationAccrual" xlink:href="esp-20240630.xsd#esp_IncreaseDecreaseInVacationAccrual"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_IncreaseDecreaseInVacationAccrual_lbl" xml:lang="en-US">(Decrease) increase in vacation accrual</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_IncreaseDecreaseInVacationAccrual" xlink:to="esp_IncreaseDecreaseInVacationAccrual_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherAccruedLiabilities"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_lbl" xml:lang="en-US">Increase (decrease) in other accrued expenses</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_IncreasedecreaseInPayrollAndOtherTaxesWithheld" xlink:href="esp-20240630.xsd#esp_IncreasedecreaseInPayrollAndOtherTaxesWithheld"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_IncreasedecreaseInPayrollAndOtherTaxesWithheld_lbl" xml:lang="en-US">Decrease (increase) in payroll and other taxes withheld</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_IncreasedecreaseInPayrollAndOtherTaxesWithheld" xlink:to="esp_IncreasedecreaseInPayrollAndOtherTaxesWithheld_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xml:lang="en-US">Increase in contract liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_lbl" xml:lang="en-US">Increase (decrease) in income taxes payable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract36" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract36"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract36_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract36" xlink:to="esp_UnlabeledAbstract36_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xml:lang="en-US">Cash Flows from Investing Activities:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_ProceedsFromGrantAward" xlink:href="esp-20240630.xsd#esp_ProceedsFromGrantAward"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_ProceedsFromGrantAward_lbl" xml:lang="en-US">Proceeds from grant award</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ProceedsFromGrantAward" xlink:to="esp_ProceedsFromGrantAward_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl" xml:lang="en-US">Proceeds from sale of property, plant and equipment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities_lbl" xml:lang="en-US">Proceeds from sale/maturity of investment securities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities" xlink:to="us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract37" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract37"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract37_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract37" xlink:to="esp_UnlabeledAbstract37_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xml:lang="en-US">Cash Flows from Financing Activities:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProceedsFromRepurchaseOfEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromRepurchaseOfEquity"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromRepurchaseOfEquity_lbl" xml:lang="en-US">Proceeds from exercise of stock options</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromRepurchaseOfEquity" xlink:to="us-gaap_ProceedsFromRepurchaseOfEquity_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract38" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract38"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract38_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract38" xlink:to="esp_UnlabeledAbstract38_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract39" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract39"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract39_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract39" xlink:to="esp_UnlabeledAbstract39_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SupplementalCashFlowElementsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SupplementalCashFlowElementsAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SupplementalCashFlowElementsAbstract_lbl" xml:lang="en-US">Supplemental Schedule of Cash Flow Information:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_SupplementalCashFlowElementsAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxesPaidNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesPaidNet"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl" xml:lang="en-US">Income taxes paid</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesPaidNet" xlink:to="us-gaap_IncomeTaxesPaidNet_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnearnedEsopSharesCost" xlink:href="esp-20240630.xsd#esp_UnearnedEsopSharesCost"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="esp_UnearnedEsopSharesCost_lbl" xml:lang="en-US">Less: Unearned ESOP shares</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnearnedEsopSharesCost" xlink:to="esp_UnearnedEsopSharesCost_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockValue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_TreasuryStockValue_lbl" xml:lang="en-US">Cost of 395,916 and 427,241 shares of common stock in treasury as of June 30, 2024 and 2023, respectively</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockValue" xlink:to="us-gaap_TreasuryStockValue_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsCommonStockCash" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsCommonStockCash"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DividendsCommonStockCash_lbl" xml:lang="en-US">Dividends paid on common stock</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsCommonStockCash" xlink:to="us-gaap_DividendsCommonStockCash_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xml:lang="en-US">Stock options exercised</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl" xml:lang="en-US">Loss (gain) on disposal of property, plant and equipment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xml:lang="en-US">Increase in trade accounts receivable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInIncomeTaxesReceivable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable_lbl" xml:lang="en-US">Decrease (increase) in income tax receivable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable" xlink:to="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xml:lang="en-US">Decrease (increase) in inventories</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xml:lang="en-US">Decrease (increase) in prepaid expenses and other current assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xml:lang="en-US">Additions to property, plant and equipment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsToAcquireInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireInvestments"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquireInvestments_lbl" xml:lang="en-US">Purchase of investment securities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireInvestments" xlink:to="us-gaap_PaymentsToAcquireInvestments_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsOfDividendsCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfDividendsCommonStock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsOfDividendsCommonStock_lbl" xml:lang="en-US">Dividends paid on common stock</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfDividendsCommonStock" xlink:to="us-gaap_PaymentsOfDividendsCommonStock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockMember_lbl" xml:lang="en-US">Common Stock</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommonStockMember_lbl0" xml:lang="en-US">Common Stock [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl" xml:lang="en-US">Capital in Excess of Par Value</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xml:lang="en-US">Accumulated Other Comprehensive (Loss) Gain</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RetainedEarningsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RetainedEarningsMember_lbl" xml:lang="en-US">Retained Earnings</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockCommonMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TreasuryStockCommonMember_lbl" xml:lang="en-US">Treasury Stock</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonMember" xlink:to="us-gaap_TreasuryStockCommonMember_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnearnedESOPSharesMember" xlink:href="esp-20240630.xsd#esp_UnearnedESOPSharesMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnearnedESOPSharesMember_lbl" xml:lang="en-US">Unearned ESOP Shares</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnearnedESOPSharesMember" xlink:to="esp_UnearnedESOPSharesMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NatureOfOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NatureOfOperations"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NatureOfOperations_lbl" xml:lang="en-US">Nature of Operations</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NatureOfOperations" xlink:to="us-gaap_NatureOfOperations_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SignificantAccountingPoliciesTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock_lbl" xml:lang="en-US">Summary of Significant Accounting Policies</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock" xlink:href="esp-20240630.xsd#esp_ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock_lbl" xml:lang="en-US">Schedule of Estimated Useful Lives of Depreciable Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock" xlink:to="esp_ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xml:lang="en-US">Estimated useful lives of depreciable assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xml:lang="en-US">Revenue</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InvestmentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InvestmentTextBlock_lbl" xml:lang="en-US">Investment Securities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentTextBlock" xlink:to="us-gaap_InvestmentTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock_lbl" xml:lang="en-US">Schedule of Classifies Investment Securities as Available-for-Sale</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TradingSecuritiesDebtAmortizedCost" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TradingSecuritiesDebtAmortizedCost"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TradingSecuritiesDebtAmortizedCost_lbl" xml:lang="en-US">Amortized Cost</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradingSecuritiesDebtAmortizedCost" xlink:to="us-gaap_TradingSecuritiesDebtAmortizedCost_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_lbl" xml:lang="en-US">Gross Unrealized Gains</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_lbl" xml:lang="en-US">Schedule of Contractual Maturities of Available-for-Sale Debt Securities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:to="us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_June302024Abstract" xlink:href="esp-20240630.xsd#esp_June302024Abstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_June302024Abstract_lbl" xml:lang="en-US">June 30, 2024</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_June302024Abstract" xlink:to="esp_June302024Abstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_lbl" xml:lang="en-US">Less than One Year</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue_lbl" xml:lang="en-US">One to Five Years</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract40" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract40"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract40_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract40" xlink:to="esp_UnlabeledAbstract40_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_June302023Abstract" xlink:href="esp-20240630.xsd#esp_June302023Abstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_June302023Abstract_lbl" xml:lang="en-US">June 30, 2023</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_June302023Abstract" xlink:to="esp_June302023Abstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LongTermContractsOrProgramsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermContractsOrProgramsDisclosureTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermContractsOrProgramsDisclosureTextBlock_lbl" xml:lang="en-US">Contracts in Process</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermContractsOrProgramsDisclosureTextBlock" xlink:to="us-gaap_LongTermContractsOrProgramsDisclosureTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_ScheduleOfContractsInProcessTableTextBlock" xlink:href="esp-20240630.xsd#esp_ScheduleOfContractsInProcessTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_ScheduleOfContractsInProcessTableTextBlock_lbl" xml:lang="en-US">Schedule of Contracts in Process</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ScheduleOfContractsInProcessTableTextBlock" xlink:to="esp_ScheduleOfContractsInProcessTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnrecognizedGrossContractValue" xlink:href="esp-20240630.xsd#esp_UnrecognizedGrossContractValue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnrecognizedGrossContractValue_lbl" xml:lang="en-US">Unrecognized gross contract value</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnrecognizedGrossContractValue" xlink:to="esp_UnrecognizedGrossContractValue_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xml:lang="en-US">Property, Plant and Equipment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xml:lang="en-US">Schedule of Property, Plant and Equipment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xml:lang="en-US">Property, plant and equipment, gross</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl" xml:lang="en-US">Pension Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xml:lang="en-US">Provision for Income Taxes</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xml:lang="en-US">Schedule of Components of the Provision for Income Taxes</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentFederalTaxExpenseBenefit"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit_lbl" xml:lang="en-US">Current tax expense - federal</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl" xml:lang="en-US">Current tax (benefit) expense - state</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xml:lang="en-US">Schedule of Effective Income Tax Rates</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xml:lang="en-US">U.S. federal statutory income tax rate</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_IncreaseReductionInRateResultingFromAbstract" xlink:href="esp-20240630.xsd#esp_IncreaseReductionInRateResultingFromAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_IncreaseReductionInRateResultingFromAbstract_lbl" xml:lang="en-US">Increase (reduction) in rate resulting from:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_IncreaseReductionInRateResultingFromAbstract" xlink:to="esp_IncreaseReductionInRateResultingFromAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl" xml:lang="en-US">State franchise tax, net of federal income tax benefit</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_EffectiveIncomeTaxRateReconciliationESOPFairValue" xlink:href="esp-20240630.xsd#esp_EffectiveIncomeTaxRateReconciliationESOPFairValue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_EffectiveIncomeTaxRateReconciliationESOPFairValue_lbl" xml:lang="en-US">ESOP cost versus Fair Market Value</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_EffectiveIncomeTaxRateReconciliationESOPFairValue" xlink:to="esp_EffectiveIncomeTaxRateReconciliationESOPFairValue_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares" xlink:href="esp-20240630.xsd#esp_EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares_lbl" xml:lang="en-US">Dividend on allocated ESOP shares</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares" xlink:to="esp_EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_lbl" xml:lang="en-US">Stock-based compensation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl" xml:lang="en-US">Other</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xml:lang="en-US">Schedule of Deferred Tax Assets and Liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsNetAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract_lbl" xml:lang="en-US">Deferred tax assets:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsNetAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_lbl" xml:lang="en-US">Accrued expenses</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther_lbl" xml:lang="en-US">ESOP</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_lbl" xml:lang="en-US">Property, plant and equipment - principally due to differences in depreciation methods</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_DeferredTaxAssetsPensionWithdrawal" xlink:href="esp-20240630.xsd#esp_DeferredTaxAssetsPensionWithdrawal"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_DeferredTaxAssetsPensionWithdrawal_lbl" xml:lang="en-US">Pension Withdrawal</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_DeferredTaxAssetsPensionWithdrawal" xlink:to="esp_DeferredTaxAssetsPensionWithdrawal_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_lbl" xml:lang="en-US">Stock-based compensation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract41" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract41"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract41_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract41" xlink:to="esp_UnlabeledAbstract41_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesNetAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesNetAbstract_lbl" xml:lang="en-US">Deferred tax liability:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesNetAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl" xml:lang="en-US">Property, plant and equipment - principally due to differences in depreciation methods</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts_lbl" xml:lang="en-US">Inventory - effect of uniform capitalization</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts" xlink:to="us-gaap_DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesPrepaidExpenses"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses_lbl" xml:lang="en-US">Prepaid expenses</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:to="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract42" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract42"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract42_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract42" xlink:to="esp_UnlabeledAbstract42_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_SignificantCustomersTextBlock" xlink:href="esp-20240630.xsd#esp_SignificantCustomersTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_SignificantCustomersTextBlock_lbl" xml:lang="en-US">Significant Customers</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_SignificantCustomersTextBlock" xlink:to="esp_SignificantCustomersTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_EmployeeStockOwnershipPlanTextBlock" xlink:href="esp-20240630.xsd#esp_EmployeeStockOwnershipPlanTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_EmployeeStockOwnershipPlanTextBlock_lbl" xml:lang="en-US">Employee Stock Ownership Plan</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_EmployeeStockOwnershipPlanTextBlock" xlink:to="esp_EmployeeStockOwnershipPlanTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfEmployeeStockOwnershipPlanESOPDisclosuresTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEmployeeStockOwnershipPlanESOPDisclosuresTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfEmployeeStockOwnershipPlanESOPDisclosuresTextBlock_lbl" xml:lang="en-US">Schedule of ESOP Shares</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEmployeeStockOwnershipPlanESOPDisclosuresTextBlock" xlink:to="us-gaap_ScheduleOfEmployeeStockOwnershipPlanESOPDisclosuresTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares_lbl" xml:lang="en-US">Allocated shares</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPNumberOfSuspenseShares" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPNumberOfSuspenseShares"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPNumberOfSuspenseShares_lbl" xml:lang="en-US">Unearned shares</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPNumberOfSuspenseShares" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPNumberOfSuspenseShares_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPDeferredSharesFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPDeferredSharesFairValue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPDeferredSharesFairValue_lbl" xml:lang="en-US">Fair value of unearned shares (in Dollars)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPDeferredSharesFairValue" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPDeferredSharesFairValue_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xml:lang="en-US">Stock-based Compensation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl" xml:lang="en-US">Schedule of Weighted Average Assumptions of Option Award</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl" xml:lang="en-US">Dividend yield</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_lbl" xml:lang="en-US">Expected stock price volatility</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl" xml:lang="en-US">Risk-free interest rate</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl" xml:lang="en-US">Expected option life (in years)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted average fair value per share of options granted during the period (in Dollars per share)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xml:lang="en-US">Schedule of Stock Option Activity</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_SharebasedCompensationArrangementsBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:href="esp-20240630.xsd#esp_SharebasedCompensationArrangementsBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_SharebasedCompensationArrangementsBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US">Weighted Average Remaining Contractual Term, Ending</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_SharebasedCompensationArrangementsBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="esp_SharebasedCompensationArrangementsBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" xml:lang="en-US">Number of Shares Subject to Option, Granted</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl0" xml:lang="en-US">Weighted Number of Shares Subject to Option, Granted</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price, Granted</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_WeightedAverageRemainingContrSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTermactualTermGranted" xlink:href="esp-20240630.xsd#esp_WeightedAverageRemainingContrSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTermactualTermGranted"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_WeightedAverageRemainingContrSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTermactualTermGranted_lbl" xml:lang="en-US">Weighted Average Remaining Contractual Term, Granted</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_WeightedAverageRemainingContrSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTermactualTermGranted" xlink:to="esp_WeightedAverageRemainingContrSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTermactualTermGranted_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price, Exercised</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price, Forfeited or expired</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl" xml:lang="en-US">Number of Shares Subject to Option, Vested or expected to vest</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl0" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number (in Shares)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price, Vested or expected to vest</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl" xml:lang="en-US">Weighted Average Remaining Contractual Term, Vested or expected to vest</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl" xml:lang="en-US">Aggregate Intrinsic Value, Vested or expected to vest</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xml:lang="en-US">Number of Shares Subject to Option, Exercisable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price, Exercisable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTerm2" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTerm2"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US">Weighted Average Remaining Contractual Term, Exercisable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTerm2" xlink:to="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTerm2_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl" xml:lang="en-US">Aggregate Intrinsic Value, Exercisable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock_lbl" xml:lang="en-US">Schedule of Changes in Non-Vested Stock Options</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Average Grant Date Fair Value (per Option), Granted</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Average Grant Date Fair Value (per Option), Vested</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Average Grant Date Fair Value (per Option), Forfeited or expired</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskDisclosureTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConcentrationRiskDisclosureTextBlock_lbl" xml:lang="en-US">Concentration of Credit Risk</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:to="us-gaap_ConcentrationRiskDisclosureTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl" xml:lang="en-US">Related Parties</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xml:lang="en-US">Commitments and Contingencies</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl" xml:lang="en-US">Stockholders&apos; Equity</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock" xlink:href="esp-20240630.xsd#esp_ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock_lbl" xml:lang="en-US">Schedule of Reserved Common Shares for Future Issuance</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock" xlink:to="esp_ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl" xml:lang="en-US">Stock options available for issuance</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl0" xml:lang="en-US">Shares remain available for grant (in Shares)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xml:lang="en-US">Schedule of Reconciliation of the Numerators and Denominators of the Basic and Diluted Earnings Per Share Computations</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLossAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetIncomeLossAbstract_lbl" xml:lang="en-US">Numerator:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAbstract" xlink:to="us-gaap_NetIncomeLossAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareBasicAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasicAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareBasicAbstract_lbl" xml:lang="en-US">Denominator:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasicAbstract" xlink:to="us-gaap_EarningsPerShareBasicAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareBasicAbstract_lbl0" xml:lang="en-US">Denominator for basic earnings per common shares &#8211;</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasicAbstract" xlink:to="us-gaap_EarningsPerShareBasicAbstract_lbl0"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract43" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract43"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract43_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract43" xlink:to="esp_UnlabeledAbstract43_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_lbl" xml:lang="en-US">Basic EPS:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockOtherSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockOtherSharesOutstanding"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockOtherSharesOutstanding_lbl" xml:lang="en-US">Common shares outstanding, beginning of period</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockOtherSharesOutstanding" xlink:to="us-gaap_CommonStockOtherSharesOutstanding_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesIssuedBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesIssuedBasic"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesIssuedBasic_lbl" xml:lang="en-US">Weighted average common shares issued during the period</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesIssuedBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesIssuedBasic_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesContingentlyIssuable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesContingentlyIssuable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesContingentlyIssuable_lbl" xml:lang="en-US">Weighted average ESOP shares earned during the period</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesContingentlyIssuable" xlink:to="us-gaap_WeightedAverageNumberOfSharesContingentlyIssuable_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnlabeledAbstract44" xlink:href="esp-20240630.xsd#esp_UnlabeledAbstract44"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnlabeledAbstract44_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract44" xlink:to="esp_UnlabeledAbstract44_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesCommonStockSubjectToRepurchaseOrCancellation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesCommonStockSubjectToRepurchaseOrCancellation"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesCommonStockSubjectToRepurchaseOrCancellation_lbl" xml:lang="en-US">Weighted average common shares issued during the period</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesCommonStockSubjectToRepurchaseOrCancellation" xlink:to="us-gaap_WeightedAverageNumberOfSharesCommonStockSubjectToRepurchaseOrCancellation_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" xml:lang="en-US">Weighted average dilutive effect of stock options</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareDilutedAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDilutedAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareDilutedAbstract_lbl" xml:lang="en-US">Denominator for diluted earnings per common shares &#8211;</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDilutedAbstract" xlink:to="us-gaap_EarningsPerShareDilutedAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_LineOfCreditTextBlock" xlink:href="esp-20240630.xsd#esp_LineOfCreditTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_LineOfCreditTextBlock_lbl" xml:lang="en-US">Line of Credit</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_LineOfCreditTextBlock" xlink:to="esp_LineOfCreditTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_QuarterlyFinancialInformationTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock_lbl" xml:lang="en-US">Quarterly Financial Information (Unaudited)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_QuarterlyFinancialInformationTextBlock" xlink:to="us-gaap_QuarterlyFinancialInformationTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl" xml:lang="en-US">Schedule of Quarterly Financial Information</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:to="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_lbl" xml:lang="en-US">Gross Unrealized Losses</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xml:lang="en-US">Accumulated depreciation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" xml:lang="en-US">Number of Shares Subject to Option, Forfeited or expired</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_lbl" xml:lang="en-US">Weighted Number of Shares Subject to Option, Vested</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_lbl" xml:lang="en-US">Weighted Number of Shares Subject to Option, Forfeited or expired</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased_lbl" xml:lang="en-US">Unearned ESOP shares</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased" xlink:to="us-gaap_WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_BuildingImprovementsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingImprovementsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BuildingImprovementsMember_lbl" xml:lang="en-US">Buildings and improvements [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BuildingImprovementsMember" xlink:to="us-gaap_BuildingImprovementsMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_MachineryAndEquipmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_MachineryAndEquipmentMember_lbl" xml:lang="en-US">Machinery and equipment [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MachineryAndEquipmentMember" xlink:to="us-gaap_MachineryAndEquipmentMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FurnitureAndFixturesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FurnitureAndFixturesMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FurnitureAndFixturesMember_lbl" xml:lang="en-US">Furniture and fixtures [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FurnitureAndFixturesMember" xlink:to="us-gaap_FurnitureAndFixturesMember_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_MinimumMember" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_MinimumMember_lbl" xml:lang="en-US">Minimum [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_MaximumMember" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_MaximumMember_lbl" xml:lang="en-US">Maximum [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CertificatesOfDepositMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CertificatesOfDepositMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CertificatesOfDepositMember_lbl" xml:lang="en-US">Certificates of deposit [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CertificatesOfDepositMember" xlink:to="us-gaap_CertificatesOfDepositMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_MunicipalBondsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MunicipalBondsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_MunicipalBondsMember_lbl" xml:lang="en-US">Municipal bonds [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MunicipalBondsMember" xlink:to="us-gaap_MunicipalBondsMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_USTreasuryBillSecuritiesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_USTreasuryBillSecuritiesMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_USTreasuryBillSecuritiesMember_lbl" xml:lang="en-US">U.S. Treasury bills [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_USTreasuryBillSecuritiesMember" xlink:to="us-gaap_USTreasuryBillSecuritiesMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LandMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LandMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LandMember_lbl" xml:lang="en-US">Land [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LandMember" xlink:to="us-gaap_LandMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LandBuildingsAndImprovementsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LandBuildingsAndImprovementsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LandBuildingsAndImprovementsMember_lbl" xml:lang="en-US">Building and improvements [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LandBuildingsAndImprovementsMember" xlink:to="us-gaap_LandBuildingsAndImprovementsMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockOptionMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockOptionMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockOptionMember_lbl" xml:lang="en-US">Equity Option [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockOptionMember" xlink:to="us-gaap_StockOptionMember_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_StatementScenarioAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementScenarioAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_StatementScenarioAxis_lbl" xml:lang="en-US">Scenario [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_StatementScenarioAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_lbl" xml:lang="en-US">Accounting Standards Update [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FairValueByAssetClassAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueByAssetClassAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueByAssetClassAxis_lbl" xml:lang="en-US">Asset Class [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByAssetClassAxis" xlink:to="us-gaap_FairValueByAssetClassAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventTypeAxis_lbl" xml:lang="en-US">Subsequent Event Type [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashAndCashEquivalentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsAxis_lbl" xml:lang="en-US">Cash and Cash Equivalents [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAxis" xlink:to="us-gaap_CashAndCashEquivalentsAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_MajorCustomersAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MajorCustomersAxis_lbl" xml:lang="en-US">Customer [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_MajorCustomersAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xml:lang="en-US">Concentration Risk Benchmark [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_lbl" xml:lang="en-US">Concentration Risk Type [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis_lbl" xml:lang="en-US">Employee Stock Ownership Plan (ESOP) Name [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_TitleOfIndividualAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_TitleOfIndividualAxis_lbl" xml:lang="en-US">Title and Position [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PlanNameAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PlanNameAxis_lbl" xml:lang="en-US">Plan Name [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_ContractExtendTerm" xlink:href="esp-20240630.xsd#esp_ContractExtendTerm"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_ContractExtendTerm_lbl" xml:lang="en-US">Contract extend term</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ContractExtendTerm" xlink:to="esp_ContractExtendTerm_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ImpairmentOfLongLivedAssetsToBeDisposedOf" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOfLongLivedAssetsToBeDisposedOf"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ImpairmentOfLongLivedAssetsToBeDisposedOf_lbl" xml:lang="en-US">Impairments of long-lived assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOfLongLivedAssetsToBeDisposedOf" xlink:to="us-gaap_ImpairmentOfLongLivedAssetsToBeDisposedOf_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ContractWithCustomerLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiability"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerLiability_lbl" xml:lang="en-US">Contract liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" xml:lang="en-US">Revenue recognized contract liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xml:lang="en-US">Intangible assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_BacklogPercentageOfRecognitionsYearOne" xlink:href="esp-20240630.xsd#esp_BacklogPercentageOfRecognitionsYearOne"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_BacklogPercentageOfRecognitionsYearOne_lbl" xml:lang="en-US">Backlog amount to be recognized, 2024</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_BacklogPercentageOfRecognitionsYearOne" xlink:to="esp_BacklogPercentageOfRecognitionsYearOne_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_BacklogPercentageOfRecognitionsYearTwo" xlink:href="esp-20240630.xsd#esp_BacklogPercentageOfRecognitionsYearTwo"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_BacklogPercentageOfRecognitionsYearTwo_lbl" xml:lang="en-US">Backlog amount to be recognized, 2025</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_BacklogPercentageOfRecognitionsYearTwo" xlink:to="esp_BacklogPercentageOfRecognitionsYearTwo_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_BacklogPercentageOfRecognitionsYearThree" xlink:href="esp-20240630.xsd#esp_BacklogPercentageOfRecognitionsYearThree"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_BacklogPercentageOfRecognitionsYearThree_lbl" xml:lang="en-US">Backlog amount to be recognized, 2026</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_BacklogPercentageOfRecognitionsYearThree" xlink:to="esp_BacklogPercentageOfRecognitionsYearThree_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_BacklogPercentageOfRecognitions" xlink:href="esp-20240630.xsd#esp_BacklogPercentageOfRecognitions"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_BacklogPercentageOfRecognitions_lbl" xml:lang="en-US">Backlog amount to be recognized</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_BacklogPercentageOfRecognitions" xlink:to="esp_BacklogPercentageOfRecognitions_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EquipmentExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquipmentExpense"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquipmentExpense_lbl" xml:lang="en-US">Funding amount</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquipmentExpense" xlink:to="us-gaap_EquipmentExpense_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsOther" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsOther"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsOther_lbl" xml:lang="en-US">Deferred tax asset</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOther" xlink:to="us-gaap_DeferredTaxAssetsOther_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_TotalMilestoneReimbursementsReceivedAmount" xlink:href="esp-20240630.xsd#esp_TotalMilestoneReimbursementsReceivedAmount"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_TotalMilestoneReimbursementsReceivedAmount_lbl" xml:lang="en-US">Total milestone reimbursements received amount</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_TotalMilestoneReimbursementsReceivedAmount" xlink:to="esp_TotalMilestoneReimbursementsReceivedAmount_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentOtherNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentOtherNet"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentOtherNet_lbl" xml:lang="en-US">Property, plant, and equipment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentOtherNet" xlink:to="us-gaap_PropertyPlantAndEquipmentOtherNet_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableCurrentAndNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrentAndNoncurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsPayableCurrentAndNoncurrent_lbl" xml:lang="en-US">Accounts payable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableCurrentAndNoncurrent" xlink:to="us-gaap_AccountsPayableCurrentAndNoncurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionAndOtherPostretirementBenefitExpense"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitExpense_lbl" xml:lang="en-US">Defined benefit contributions and expenses</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionAndOtherPostretirementBenefitExpense" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitExpense_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_MultiemployerPlansWithdrawalObligation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MultiemployerPlansWithdrawalObligation"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_MultiemployerPlansWithdrawalObligation_lbl" xml:lang="en-US">Withdrawal obligation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MultiemployerPlansWithdrawalObligation" xlink:to="us-gaap_MultiemployerPlansWithdrawalObligation_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PensionContributions" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionContributions"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PensionContributions_lbl" xml:lang="en-US">Contribution payment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionContributions" xlink:to="us-gaap_PensionContributions_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLiabilities"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherLiabilities_lbl" xml:lang="en-US">Remaining liability</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilities" xlink:to="us-gaap_OtherLiabilities_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_MultiemployerPlanPensionSignificantPlanContribution" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MultiemployerPlanPensionSignificantPlanContribution"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_MultiemployerPlanPensionSignificantPlanContribution_lbl" xml:lang="en-US">Expenses contributions</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MultiemployerPlanPensionSignificantPlanContribution" xlink:to="us-gaap_MultiemployerPlanPensionSignificantPlanContribution_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_lbl" xml:lang="en-US">Percentage of employer contribution</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_DefinedContributionPlanEmployersMatchingContribution" xlink:href="esp-20240630.xsd#esp_DefinedContributionPlanEmployersMatchingContribution"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_DefinedContributionPlanEmployersMatchingContribution_lbl" xml:lang="en-US">Employee contribution</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_DefinedContributionPlanEmployersMatchingContribution" xlink:to="esp_DefinedContributionPlanEmployersMatchingContribution_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskPercentage1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xml:lang="en-US">Total trade accounts receivable balance percentage</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl0" xml:lang="en-US">Total accounts receivable balance percentage</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SalesTypeLeaseRevenue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesTypeLeaseRevenue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SalesTypeLeaseRevenue_lbl" xml:lang="en-US">Sale export shipments amount (in Dollars)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesTypeLeaseRevenue" xlink:to="us-gaap_SalesTypeLeaseRevenue_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_EmployeeStockOwnershipPlanHoursWorked" xlink:href="esp-20240630.xsd#esp_EmployeeStockOwnershipPlanHoursWorked"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_EmployeeStockOwnershipPlanHoursWorked_lbl" xml:lang="en-US">Number of hours worked per year to qualify for the plan</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_EmployeeStockOwnershipPlanHoursWorked" xlink:to="esp_EmployeeStockOwnershipPlanHoursWorked_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xml:lang="en-US">Bear interest fixed rate</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl"/>
<!-- [WMV6][XcpuxYn59dz7vgYynUDuwG7r97K2jUTysl7vcz0lJt/tSeJz73kx1cLt0ZFF2SK/vxBCY0vdSrYnt/FcukLonGvrL5wMA+ofwaqo4qMNOuQCZ4f5MsVOmOOAhEIki8WPj8IecsZEAIH93EFFuU1YNbJ9bq3A8pyccr+4dZb24Xm8ri5fUWvN9D2QbwLnSGEeGM9LkmeBq6kmBc6qbz0KTLZS42R+z5T+TvRKf196x1U02PcpSpWyFI0XkFnk2J6etumKnTtqhgnHWd8y9A65nb4JJN+PiV09Lp6c5W1Ly5m9v2l1EL6G94olFSBfy2KEp20R60ypjSdWS86FNoSQig==] CSR-->
    <loc xlink:type="locator" xlink:label="us-gaap_StockIssuedDuringPeriodSharesEmployeeBenefitPlan" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeBenefitPlan"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesEmployeeBenefitPlan_lbl" xml:lang="en-US">Shares distributed</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesEmployeeBenefitPlan" xlink:to="us-gaap_StockIssuedDuringPeriodSharesEmployeeBenefitPlan_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xml:lang="en-US">Stock based compensation expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredOtherTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredOtherTaxExpenseBenefit"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredOtherTaxExpenseBenefit_lbl" xml:lang="en-US">Deferred tax benefit</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredOtherTaxExpenseBenefit" xlink:to="us-gaap_DeferredOtherTaxExpenseBenefit_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl" xml:lang="en-US">Unrecognized compensation costs</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xml:lang="en-US">Period in which compensation cost will be recognized</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease_lbl" xml:lang="en-US">Aggregate number of common stock (in Shares)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_PercentageOfTotalNumberOfSharesSubjectToOptionsOrAwardsSingleFiscalYear" xlink:href="esp-20240630.xsd#esp_PercentageOfTotalNumberOfSharesSubjectToOptionsOrAwardsSingleFiscalYear"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_PercentageOfTotalNumberOfSharesSubjectToOptionsOrAwardsSingleFiscalYear_lbl" xml:lang="en-US">Percentage of total number of shares subject to options or awards, single fiscal year</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_PercentageOfTotalNumberOfSharesSubjectToOptionsOrAwardsSingleFiscalYear" xlink:to="esp_PercentageOfTotalNumberOfSharesSubjectToOptionsOrAwardsSingleFiscalYear_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" xml:lang="en-US">Vesting period</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xml:lang="en-US">Authorized shares under plan (in Shares)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercised" xlink:href="esp-20240630.xsd#esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercised"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercised_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, exercised (in Shares)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercised" xlink:to="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercised_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestCancelled" xlink:href="esp-20240630.xsd#esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestCancelled"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestCancelled_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Cancelled (in Shares)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestCancelled" xlink:to="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestCancelled_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionOutstandingNumber" xlink:href="esp-20240630.xsd#esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionOutstandingNumber"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionOutstandingNumber_lbl" xml:lang="en-US">Outstanding shares (in Shares)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionOutstandingNumber" xlink:to="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionOutstandingNumber_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharePrice"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharePrice_lbl" xml:lang="en-US">Dividends per share (in Dollars per share)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharePrice" xlink:to="us-gaap_SharePrice_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xml:lang="en-US">Aggregate intrinsic value of options exercised</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LettersOfCreditOutstandingAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LettersOfCreditOutstandingAmount"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LettersOfCreditOutstandingAmount_lbl" xml:lang="en-US">Contingent liabilities on outstanding standby letters of credit agreements</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LettersOfCreditOutstandingAmount" xlink:to="us-gaap_LettersOfCreditOutstandingAmount_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xml:lang="en-US">Purchase shares of common stock</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_lbl" xml:lang="en-US">Borrowing capacity</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_FloatingRatePercentage" xlink:href="esp-20240630.xsd#esp_FloatingRatePercentage"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_FloatingRatePercentage_lbl" xml:lang="en-US">Floating rate percentage</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_FloatingRatePercentage" xlink:to="esp_FloatingRatePercentage_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" xml:lang="en-US">Revenue</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl" xml:lang="en-US">Inventory</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_ContractLiabilitiesPolicyTextBlock" xlink:href="esp-20240630.xsd#esp_ContractLiabilitiesPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_ContractLiabilitiesPolicyTextBlock_lbl" xml:lang="en-US">Contract Liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ContractLiabilitiesPolicyTextBlock" xlink:to="esp_ContractLiabilitiesPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DepreciationDepletionAndAmortizationPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationDepletionAndAmortizationPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DepreciationDepletionAndAmortizationPolicyTextBlock_lbl" xml:lang="en-US">Depreciation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationDepletionAndAmortizationPolicyTextBlock" xlink:to="us-gaap_DepreciationDepletionAndAmortizationPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xml:lang="en-US">Income Taxes</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl" xml:lang="en-US">Cash and Cash Equivalents</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InvestmentPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InvestmentPolicyTextBlock_lbl" xml:lang="en-US">Investment Securities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentPolicyTextBlock" xlink:to="us-gaap_InvestmentPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl" xml:lang="en-US">Fair Value of Financial Instruments</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl" xml:lang="en-US">Accounts Receivable and Allowance for Credit Losses</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:to="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerSharePolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xml:lang="en-US">Per Share Amounts</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomePolicyPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl" xml:lang="en-US">Comprehensive Income</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:to="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_UseOfEstimates" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UseOfEstimates"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UseOfEstimates_lbl" xml:lang="en-US">Use of Estimates</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UseOfEstimates" xlink:to="us-gaap_UseOfEstimates_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_RecentlyAdoptedAccountingStandardsPolicyTextBlock" xlink:href="esp-20240630.xsd#esp_RecentlyAdoptedAccountingStandardsPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_RecentlyAdoptedAccountingStandardsPolicyTextBlock_lbl" xml:lang="en-US">Recently Adopted Accounting Standards</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_RecentlyAdoptedAccountingStandardsPolicyTextBlock" xlink:to="esp_RecentlyAdoptedAccountingStandardsPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xml:lang="en-US">Recent Accounting Pronouncements Not Yet Adopted</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" xml:lang="en-US">Impairment of Long-Lived Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskCreditRisk" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskCreditRisk"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConcentrationRiskCreditRisk_lbl" xml:lang="en-US">Concentrations of Risk</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskCreditRisk" xlink:to="us-gaap_ConcentrationRiskCreditRisk_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_UnitsDeliveredMember" xlink:href="esp-20240630.xsd#esp_UnitsDeliveredMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_UnitsDeliveredMember_lbl" xml:lang="en-US">Units Delivered [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnitsDeliveredMember" xlink:to="esp_UnitsDeliveredMember_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_ASC606Member" xlink:href="esp-20240630.xsd#esp_ASC606Member"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_ASC606Member_lbl" xml:lang="en-US">ASC 606 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ASC606Member" xlink:to="esp_ASC606Member_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_MilestonesAchievedMember" xlink:href="esp-20240630.xsd#esp_MilestonesAchievedMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_MilestonesAchievedMember_lbl" xml:lang="en-US">Milestones Achieved [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_MilestonesAchievedMember" xlink:to="esp_MilestonesAchievedMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OrderOrProductionBacklogMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OrderOrProductionBacklogMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OrderOrProductionBacklogMember_lbl" xml:lang="en-US">Order or Production Backlog [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrderOrProductionBacklogMember" xlink:to="us-gaap_OrderOrProductionBacklogMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentMember_lbl" xml:lang="en-US">Property, Plant and Equipment [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentMember" xlink:to="us-gaap_PropertyPlantAndEquipmentMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SubsequentEventMember_lbl" xml:lang="en-US">Subsequent Event [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventMember" xlink:to="us-gaap_SubsequentEventMember_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_USFederalAndStateMember" xlink:href="esp-20240630.xsd#esp_USFederalAndStateMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_USFederalAndStateMember_lbl" xml:lang="en-US">U.S. Federal and State [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_USFederalAndStateMember" xlink:to="esp_USFederalAndStateMember_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_FiveCustomersMember" xlink:href="esp-20240630.xsd#esp_FiveCustomersMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_FiveCustomersMember_lbl" xml:lang="en-US">Five Customers [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_FiveCustomersMember" xlink:to="esp_FiveCustomersMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SalesRevenueNetMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SalesRevenueNetMember_lbl" xml:lang="en-US">Revenue Benchmark [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesRevenueNetMember" xlink:to="us-gaap_SalesRevenueNetMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CustomerConcentrationRiskMember_lbl" xml:lang="en-US">Customer Concentration Risk [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerConcentrationRiskMember" xlink:to="us-gaap_CustomerConcentrationRiskMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsReceivableMember_lbl" xml:lang="en-US">Accounts Receivable [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableMember" xlink:to="us-gaap_AccountsReceivableMember_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_EmployeeStockOwnershipPlanMember" xlink:href="esp-20240630.xsd#esp_EmployeeStockOwnershipPlanMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_EmployeeStockOwnershipPlanMember_lbl" xml:lang="en-US">Employee Stock Ownership Plan [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_EmployeeStockOwnershipPlanMember" xlink:to="esp_EmployeeStockOwnershipPlanMember_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_NonQualifiedStockOptionsMember" xlink:href="esp-20240630.xsd#esp_NonQualifiedStockOptionsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_NonQualifiedStockOptionsMember_lbl" xml:lang="en-US">Non-qualified Stock Options [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_NonQualifiedStockOptionsMember" xlink:to="esp_NonQualifiedStockOptionsMember_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_IncentiveStockOptionMember" xlink:href="esp-20240630.xsd#esp_IncentiveStockOptionMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_IncentiveStockOptionMember_lbl" xml:lang="en-US">Incentive Stock Options [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_IncentiveStockOptionMember" xlink:to="esp_IncentiveStockOptionMember_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_NonEmployeeDirectorsMember" xlink:href="esp-20240630.xsd#esp_NonEmployeeDirectorsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_NonEmployeeDirectorsMember_lbl" xml:lang="en-US">Non-Employee Directors [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_NonEmployeeDirectorsMember" xlink:to="esp_NonEmployeeDirectorsMember_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_TwoThousandSeventeenPlanMember" xlink:href="esp-20240630.xsd#esp_TwoThousandSeventeenPlanMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_TwoThousandSeventeenPlanMember_lbl" xml:lang="en-US">2017 Plan [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_TwoThousandSeventeenPlanMember" xlink:to="esp_TwoThousandSeventeenPlanMember_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_IndividualEmployeeMember" xlink:href="esp-20240630.xsd#esp_IndividualEmployeeMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_IndividualEmployeeMember_lbl" xml:lang="en-US">Individual Employee [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_IndividualEmployeeMember" xlink:to="esp_IndividualEmployeeMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EmployeeStockOptionMember_lbl" xml:lang="en-US">Stock Options [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOptionMember" xlink:to="us-gaap_EmployeeStockOptionMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeStockMember_lbl" xml:lang="en-US">Employee Stock [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockMember" xlink:to="us-gaap_EmployeeStockMember_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_RestrictedStockPlanMember" xlink:href="esp-20240630.xsd#esp_RestrictedStockPlanMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_RestrictedStockPlanMember_lbl" xml:lang="en-US">Restricted Stock Plan [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_RestrictedStockPlanMember" xlink:to="esp_RestrictedStockPlanMember_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_TwoThousandSevenPlanMember" xlink:href="esp-20240630.xsd#esp_TwoThousandSevenPlanMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="esp_TwoThousandSevenPlanMember_lbl" xml:lang="en-US">2007 Plan [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_TwoThousandSevenPlanMember" xlink:to="esp_TwoThousandSevenPlanMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EquityComponentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityComponentDomain_lbl" xml:lang="en-US">Equity Component [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_EquityComponentDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementTable_lbl" xml:lang="en-US">Statement [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US">Statement [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl" xml:lang="en-US">Long-Lived Tangible Asset [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_RangeMember" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeMember_lbl" xml:lang="en-US">Statistical Measurement [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeMember" xlink:to="srt_RangeMember_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_SummaryofSignificantAccountingPoliciesDetailsScheduleofEstimatedUsefulLivesofDepreciableAssetsTable" xlink:href="esp-20240630.xsd#esp_SummaryofSignificantAccountingPoliciesDetailsScheduleofEstimatedUsefulLivesofDepreciableAssetsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_SummaryofSignificantAccountingPoliciesDetailsScheduleofEstimatedUsefulLivesofDepreciableAssetsTable_lbl" xml:lang="en-US">Summary of Significant Accounting Policies (Details) - Schedule of Estimated Useful Lives of Depreciable Assets [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_SummaryofSignificantAccountingPoliciesDetailsScheduleofEstimatedUsefulLivesofDepreciableAssetsTable" xlink:to="esp_SummaryofSignificantAccountingPoliciesDetailsScheduleofEstimatedUsefulLivesofDepreciableAssetsTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xml:lang="en-US">Schedule of Estimated Useful Lives of Depreciable Assets [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_lbl" xml:lang="en-US">Financial Instruments [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtSecuritiesAvailableForSaleTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleTable_lbl" xml:lang="en-US">Debt Securities, Available-for-Sale [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtSecuritiesAvailableForSaleTable" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfInvestmentsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfInvestmentsLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfInvestmentsLineItems_lbl" xml:lang="en-US">Schedule of Classifies Investment Securities as Available-for-Sale [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems" xlink:to="us-gaap_ScheduleOfInvestmentsLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xml:lang="en-US">Property, Plant and Equipment [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_lbl0" xml:lang="en-US">Schedule of Property, Plant and Equipment [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_lbl" xml:lang="en-US">Award Type [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityTable" xlink:href="esp-20240630.xsd#esp_StockbasedCompensationDetailsScheduleofStockOptionActivityTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityTable_lbl" xml:lang="en-US">Stock-based Compensation (Details) - Schedule of Stock Option Activity [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityTable" xlink:to="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityTable_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:href="esp-20240630.xsd#esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems_lbl" xml:lang="en-US">Stock-based Compensation (Details) - Schedule of Stock Option Activity [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_StockholdersEquityDetailsScheduleofReservedCommonSharesforFutureIssuanceTable" xlink:href="esp-20240630.xsd#esp_StockholdersEquityDetailsScheduleofReservedCommonSharesforFutureIssuanceTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_StockholdersEquityDetailsScheduleofReservedCommonSharesforFutureIssuanceTable_lbl" xml:lang="en-US">Stockholders&apos; Equity (Details) - Schedule of Reserved Common Shares for Future Issuance [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_StockholdersEquityDetailsScheduleofReservedCommonSharesforFutureIssuanceTable" xlink:to="esp_StockholdersEquityDetailsScheduleofReservedCommonSharesforFutureIssuanceTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TemporaryEquityLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TemporaryEquityLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TemporaryEquityLineItems_lbl" xml:lang="en-US">Schedule of Reserved Common Shares for Future Issuance [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TemporaryEquityLineItems" xlink:to="us-gaap_TemporaryEquityLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_ScenarioUnspecifiedDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioUnspecifiedDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ScenarioUnspecifiedDomain_lbl" xml:lang="en-US">Scenario [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScenarioUnspecifiedDomain" xlink:to="srt_ScenarioUnspecifiedDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TypeOfAdoptionMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfAdoptionMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TypeOfAdoptionMember_lbl" xml:lang="en-US">Accounting Standards Update [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="us-gaap_TypeOfAdoptionMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_RevenueDetailsTable" xlink:href="esp-20240630.xsd#esp_RevenueDetailsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_RevenueDetailsTable_lbl" xml:lang="en-US">Revenue (Details) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_RevenueDetailsTable" xlink:to="esp_RevenueDetailsTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DisaggregationOfRevenueLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_lbl" xml:lang="en-US">Revenue [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_lbl" xml:lang="en-US">Asset Class [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_PropertyPlantandEquipmentDetailsTable" xlink:href="esp-20240630.xsd#esp_PropertyPlantandEquipmentDetailsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_PropertyPlantandEquipmentDetailsTable_lbl" xml:lang="en-US">Property, Plant and Equipment (Details) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_PropertyPlantandEquipmentDetailsTable" xlink:to="esp_PropertyPlantandEquipmentDetailsTable_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_lbl1" xml:lang="en-US">Property, Plant and Equipment [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_lbl1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventTypeDomain_lbl" xml:lang="en-US">Subsequent Event Type [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventTypeDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_PensionExpenseDetailsTable" xlink:href="esp-20240630.xsd#esp_PensionExpenseDetailsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_PensionExpenseDetailsTable_lbl" xml:lang="en-US">Pension Expense (Details) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_PensionExpenseDetailsTable" xlink:to="esp_PensionExpenseDetailsTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems_lbl" xml:lang="en-US">Pension Expense [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_lbl" xml:lang="en-US">Cash and Cash Equivalents [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_ProvisionforIncomeTaxesDetailsTable" xlink:href="esp-20240630.xsd#esp_ProvisionforIncomeTaxesDetailsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_ProvisionforIncomeTaxesDetailsTable_lbl" xml:lang="en-US">Provision for Income Taxes (Details) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ProvisionforIncomeTaxesDetailsTable" xlink:to="esp_ProvisionforIncomeTaxesDetailsTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxContingencyLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxContingencyLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxContingencyLineItems_lbl" xml:lang="en-US">Provision for Income Taxes [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="us-gaap_IncomeTaxContingencyLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_NameOfMajorCustomerDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_NameOfMajorCustomerDomain_lbl" xml:lang="en-US">Customer [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="srt_NameOfMajorCustomerDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskTypeDomain_lbl" xml:lang="en-US">Concentration Risk Type [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_ConcentrationRiskTypeDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_lbl" xml:lang="en-US">Concentration Risk Benchmark [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_SignificantCustomersDetailsTable" xlink:href="esp-20240630.xsd#esp_SignificantCustomersDetailsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_SignificantCustomersDetailsTable_lbl" xml:lang="en-US">Significant Customers (Details) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_SignificantCustomersDetailsTable" xlink:to="esp_SignificantCustomersDetailsTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskLineItems_lbl" xml:lang="en-US">Significant Customers [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain_lbl" xml:lang="en-US">Employee Stock Ownership Plan (ESOP), Plan [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_EmployeeStockOwnershipPlanDetailsTable" xlink:href="esp-20240630.xsd#esp_EmployeeStockOwnershipPlanDetailsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_EmployeeStockOwnershipPlanDetailsTable_lbl" xml:lang="en-US">Employee Stock Ownership Plan (Details) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_EmployeeStockOwnershipPlanDetailsTable" xlink:to="esp_EmployeeStockOwnershipPlanDetailsTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresLineItems_lbl" xml:lang="en-US">Employee Stock Ownership Plan [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresLineItems" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_lbl" xml:lang="en-US">Title and Position [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PlanNameDomain_lbl" xml:lang="en-US">Plan Name [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameDomain" xlink:to="us-gaap_PlanNameDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_StockbasedCompensationDetailsTable" xlink:href="esp-20240630.xsd#esp_StockbasedCompensationDetailsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_StockbasedCompensationDetailsTable_lbl" xml:lang="en-US">Stock-based Compensation (Details) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_StockbasedCompensationDetailsTable" xlink:to="esp_StockbasedCompensationDetailsTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_lbl" xml:lang="en-US">Stock Based Compensation [Line Item]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="esp_ConcentrationofCreditRiskDetailsTable" xlink:href="esp-20240630.xsd#esp_ConcentrationofCreditRiskDetailsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_ConcentrationofCreditRiskDetailsTable_lbl" xml:lang="en-US">Concentration of Credit Risk (Details) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ConcentrationofCreditRiskDetailsTable" xlink:to="esp_ConcentrationofCreditRiskDetailsTable_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConcentrationRiskLineItems_lbl0" xml:lang="en-US">Concentration of Credit Risk [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskLineItems_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_BacklogPercentageOfRecognitions_lbl0" xml:lang="en-US">The percentage of backlog that will be recognized within three years of the operating cycle.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_BacklogPercentageOfRecognitions" xlink:to="esp_BacklogPercentageOfRecognitions_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_BacklogPercentageOfRecognitionsYearOne_lbl0" xml:lang="en-US">The percentage of backlog that will be recognized within one year of the operating cycle.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_BacklogPercentageOfRecognitionsYearOne" xlink:to="esp_BacklogPercentageOfRecognitionsYearOne_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_BacklogPercentageOfRecognitionsYearThree_lbl0" xml:lang="en-US">The percentage of backlog that will be recognized within two years of the operating cycle.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_BacklogPercentageOfRecognitionsYearThree" xlink:to="esp_BacklogPercentageOfRecognitionsYearThree_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_BacklogPercentageOfRecognitionsYearTwo_lbl0" xml:lang="en-US">The percentage of backlog that will be recognized within two years of the operating cycle.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_BacklogPercentageOfRecognitionsYearTwo" xlink:to="esp_BacklogPercentageOfRecognitionsYearTwo_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_ContractExtendTerm_lbl0" xml:lang="en-US">Contract extend term.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ContractExtendTerm" xlink:to="esp_ContractExtendTerm_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_ContractLiabilitiesPolicyTextBlock_lbl0" xml:lang="en-US">Disclosure of accounting policy for contract liabilities.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ContractLiabilitiesPolicyTextBlock" xlink:to="esp_ContractLiabilitiesPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_DeferredTaxAssetLiability_lbl0" xml:lang="en-US">Net deferred tax asset (liability).</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_DeferredTaxAssetLiability" xlink:to="esp_DeferredTaxAssetLiability_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_DeferredTaxAssetsCurrent_lbl0" xml:lang="en-US">Deferred tax assets as of the balance sheet date.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_DeferredTaxAssetsCurrent" xlink:to="esp_DeferredTaxAssetsCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_DeferredTaxLiability_lbl0" xml:lang="en-US">Deferred tax liabilities as of the balance sheet date.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_DeferredTaxLiability" xlink:to="esp_DeferredTaxLiability_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares_lbl0" xml:lang="en-US">Dividend on allocated ESOP shares.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares" xlink:to="esp_EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_EffectiveIncomeTaxRateReconciliationESOPFairValue_lbl0" xml:lang="en-US">The portion of the difference between the effective income tax rate and domestic federal statutory income tax rate attributable to differences in ESOP fair value.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_EffectiveIncomeTaxRateReconciliationESOPFairValue" xlink:to="esp_EffectiveIncomeTaxRateReconciliationESOPFairValue_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_EmployeeStockOwnershipPlanHoursWorked_lbl0" xml:lang="en-US">Minimum number of hours worked per year for nonunion employees to participate in ESOP.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_EmployeeStockOwnershipPlanHoursWorked" xlink:to="esp_EmployeeStockOwnershipPlanHoursWorked_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_EmployeeStockOwnershipPlanTextBlock_lbl0" xml:lang="en-US">The entire disclosure for employee stock ownership plan.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_EmployeeStockOwnershipPlanTextBlock" xlink:to="esp_EmployeeStockOwnershipPlanTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_FloatingRatePercentage_lbl0" xml:lang="en-US">Floating rate percentage.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_FloatingRatePercentage" xlink:to="esp_FloatingRatePercentage_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_IncreaseDecreaseInVacationAccrual_lbl0" xml:lang="en-US">The increase (decrease) in vacation accrual for the period.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_IncreaseDecreaseInVacationAccrual" xlink:to="esp_IncreaseDecreaseInVacationAccrual_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_IncreasedecreaseInPayrollAndOtherTaxesWithheld_lbl0" xml:lang="en-US">Increase (decrease) in payroll and other taxes withheld.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_IncreasedecreaseInPayrollAndOtherTaxesWithheld" xlink:to="esp_IncreasedecreaseInPayrollAndOtherTaxesWithheld_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_PercentageOfTotalNumberOfSharesSubjectToOptionsOrAwardsSingleFiscalYear_lbl0" xml:lang="en-US">Percentage of total number of shares subject to options or awards, single fiscal year.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_PercentageOfTotalNumberOfSharesSubjectToOptionsOrAwardsSingleFiscalYear" xlink:to="esp_PercentageOfTotalNumberOfSharesSubjectToOptionsOrAwardsSingleFiscalYear_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_ProceedsFromGrantAward_lbl0" xml:lang="en-US">Proceeds from grant award.&#xd;
..</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ProceedsFromGrantAward" xlink:to="esp_ProceedsFromGrantAward_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_RecentlyAdoptedAccountingStandardsPolicyTextBlock_lbl0" xml:lang="en-US">Disclosure of accounting policy for recently adopted accounting standards.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_RecentlyAdoptedAccountingStandardsPolicyTextBlock" xlink:to="esp_RecentlyAdoptedAccountingStandardsPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_ScheduleOfContractsInProcessTableTextBlock_lbl0" xml:lang="en-US">Schedule of contracts in process.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ScheduleOfContractsInProcessTableTextBlock" xlink:to="esp_ScheduleOfContractsInProcessTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock_lbl0" xml:lang="en-US">Tabular disclosure of estimated useful lives of depreciable assets.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock" xlink:to="esp_ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock_lbl0" xml:lang="en-US">The schedule of common shares reserved for future issuance as stock option awards.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock" xlink:to="esp_ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionOutstandingNumber_lbl0" xml:lang="en-US">Number of options outstanding, including both vested and non-vested options.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionOutstandingNumber" xlink:to="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionOutstandingNumber_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestCancelled_lbl0" xml:lang="en-US">Number of fully vested and expected to vest options, cancelled.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestCancelled" xlink:to="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestCancelled_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercised_lbl0" xml:lang="en-US">Number of fully vested and expected to vest options exercised.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercised" xlink:to="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercised_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_SignificantCustomersTextBlock_lbl0" xml:lang="en-US">The disclosure for revenues in the period from one or more significant customers.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_SignificantCustomersTextBlock" xlink:to="esp_SignificantCustomersTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_TotalMilestoneReimbursementsReceivedAmount_lbl0" xml:lang="en-US">Total milestone reimbursements received amount.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_TotalMilestoneReimbursementsReceivedAmount" xlink:to="esp_TotalMilestoneReimbursementsReceivedAmount_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_TotalStockholdersEquityBeforyEsopAndTreasuryStock_lbl0" xml:lang="en-US">Total of all stockholders&apos; equity (deficit) items, before ESOP and Treasury stock.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_TotalStockholdersEquityBeforyEsopAndTreasuryStock" xlink:to="esp_TotalStockholdersEquityBeforyEsopAndTreasuryStock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_UnearnedEsopSharesCost_lbl0" xml:lang="en-US">Unearned ESOP shares.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnearnedEsopSharesCost" xlink:to="esp_UnearnedEsopSharesCost_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_UnrecognizedGrossContractValue_lbl0" xml:lang="en-US">The amount of unrecognized gross contract value.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnrecognizedGrossContractValue" xlink:to="esp_UnrecognizedGrossContractValue_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_WeightedAverageRemainingContrSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTermactualTermGranted_lbl0" xml:lang="en-US">Represent the weighted average remaining contractual term, Granted.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_WeightedAverageRemainingContrSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTermactualTermGranted" xlink:to="esp_WeightedAverageRemainingContrSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTermactualTermGranted_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_ASC606Member_lbl0" xml:lang="en-US">ASC 606 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ASC606Member" xlink:to="esp_ASC606Member_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_EmployeeStockOwnershipPlanMember_lbl0" xml:lang="en-US">Information by name of employee stock ownership plan.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_EmployeeStockOwnershipPlanMember" xlink:to="esp_EmployeeStockOwnershipPlanMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_IncentiveStockOptionMember_lbl0" xml:lang="en-US">Incentive Stock Options [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_IncentiveStockOptionMember" xlink:to="esp_IncentiveStockOptionMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_IndividualEmployeeMember_lbl0" xml:lang="en-US">Individual Employee [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_IndividualEmployeeMember" xlink:to="esp_IndividualEmployeeMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_MilestonesAchievedMember_lbl0" xml:lang="en-US">Units Delivered [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_MilestonesAchievedMember" xlink:to="esp_MilestonesAchievedMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_NonEmployeeDirectorsMember_lbl0" xml:lang="en-US">Non employee directors [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_NonEmployeeDirectorsMember" xlink:to="esp_NonEmployeeDirectorsMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_NonQualifiedStockOptionsMember_lbl0" xml:lang="en-US">Non-qualified stock options [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_NonQualifiedStockOptionsMember" xlink:to="esp_NonQualifiedStockOptionsMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_TwoThousandSevenPlanMember_lbl0" xml:lang="en-US">Name of the equity-based compensation arrangement plan.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_TwoThousandSevenPlanMember" xlink:to="esp_TwoThousandSevenPlanMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_TwoThousandSeventeenPlanMember_lbl0" xml:lang="en-US">2017 Plan [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_TwoThousandSeventeenPlanMember" xlink:to="esp_TwoThousandSeventeenPlanMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_UnearnedESOPSharesMember_lbl0" xml:lang="en-US">Information pertaining to unearned employee stock ownership plan shares.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnearnedESOPSharesMember" xlink:to="esp_UnearnedESOPSharesMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="esp_UnitsDeliveredMember_lbl0" xml:lang="en-US">Units Delivered [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnitsDeliveredMember" xlink:to="esp_UnitsDeliveredMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsAbstract_lbl0" xml:lang="en-US">Assets [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_lbl1" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Option, Nonvested, Weighted Average Exercise Price</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_lbl0" xml:lang="en-US">Line of Credit Facility, Current Borrowing Capacity</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareDiluted_lbl1" xml:lang="en-US">Earnings Per Share, Diluted</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsMember_lbl0" xml:lang="en-US">Retained Earnings [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_lbl0" xml:lang="en-US">Investments Classified by Contractual Maturity Date [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:to="us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl0" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther_lbl0" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Other</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl1" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl0" xml:lang="en-US">Finite-Lived Intangible Assets, Net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredOtherTaxExpenseBenefit_lbl0" xml:lang="en-US">Deferred Other Tax Expense (Benefit)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredOtherTaxExpenseBenefit" xlink:to="us-gaap_DeferredOtherTaxExpenseBenefit_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_lbl0" xml:lang="en-US">OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_lbl0" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Nonvested Options Forfeited, Number of Shares</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SalesTypeLeaseRevenue_lbl0" xml:lang="en-US">Sales-type Lease, Revenue</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesTypeLeaseRevenue" xlink:to="us-gaap_SalesTypeLeaseRevenue_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MultiemployerPlansWithdrawalObligation_lbl0" xml:lang="en-US">Multiemployer Plans, Withdrawal Obligation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MultiemployerPlansWithdrawalObligation" xlink:to="us-gaap_MultiemployerPlansWithdrawalObligation_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedVacationCurrent_lbl0" xml:lang="en-US">Accrued Vacation, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedVacationCurrent" xlink:to="us-gaap_AccruedVacationCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl0" xml:lang="en-US">Other Nonoperating Income (Expense)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOP_lbl0" xml:lang="en-US">Employee Stock Ownership Plan (ESOP), Shares in ESOP</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOP" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOP_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_June302023Abstract_lbl0" xml:lang="en-US">June302023 Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_June302023Abstract" xlink:to="esp_June302023Abstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract28_lbl0" xml:lang="en-US">Unlabeled Abstract28</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract28" xlink:to="esp_UnlabeledAbstract28_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract29_lbl0" xml:lang="en-US">Unlabeled Abstract29</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract29" xlink:to="esp_UnlabeledAbstract29_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxesReceivable_lbl0" xml:lang="en-US">Income Taxes Receivable, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesReceivable" xlink:to="us-gaap_IncomeTaxesReceivable_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_lbl0" xml:lang="en-US">Deferred Tax Assets, Property, Plant and Equipment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentIncomeInterest_lbl0" xml:lang="en-US">Investment Income, Interest</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentIncomeInterest" xlink:to="us-gaap_InvestmentIncomeInterest_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract30_lbl0" xml:lang="en-US">Unlabeled Abstract30</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract30" xlink:to="esp_UnlabeledAbstract30_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract33_lbl0" xml:lang="en-US">Unlabeled Abstract33</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract33" xlink:to="esp_UnlabeledAbstract33_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract34_lbl0" xml:lang="en-US">Unlabeled Abstract34</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract34" xlink:to="esp_UnlabeledAbstract34_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract31_lbl0" xml:lang="en-US">Unlabeled Abstract31</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract31" xlink:to="esp_UnlabeledAbstract31_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_ASC606Member_lbl1" xml:lang="en-US">ASC606 Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ASC606Member" xlink:to="esp_ASC606Member_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract32_lbl0" xml:lang="en-US">Unlabeled Abstract32</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract32" xlink:to="esp_UnlabeledAbstract32_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract37_lbl0" xml:lang="en-US">Unlabeled Abstract37</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract37" xlink:to="esp_UnlabeledAbstract37_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract38_lbl0" xml:lang="en-US">Unlabeled Abstract38</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract38" xlink:to="esp_UnlabeledAbstract38_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract35_lbl0" xml:lang="en-US">Unlabeled Abstract35</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract35" xlink:to="esp_UnlabeledAbstract35_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract36_lbl0" xml:lang="en-US">Unlabeled Abstract36</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract36" xlink:to="esp_UnlabeledAbstract36_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract39_lbl0" xml:lang="en-US">Unlabeled Abstract39</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract39" xlink:to="esp_UnlabeledAbstract39_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MultiemployerPlanPensionSignificantPlanContribution_lbl0" xml:lang="en-US">Multiemployer Plan, Pension, Significant, Plan Contribution</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MultiemployerPlanPensionSignificantPlanContribution" xlink:to="us-gaap_MultiemployerPlanPensionSignificantPlanContribution_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl0" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasicAbstract_lbl1" xml:lang="en-US">Earnings Per Share, Basic [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasicAbstract" xlink:to="us-gaap_EarningsPerShareBasicAbstract_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentMember_lbl0" xml:lang="en-US">Property, Plant and Equipment [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentMember" xlink:to="us-gaap_PropertyPlantAndEquipmentMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract40_lbl0" xml:lang="en-US">Unlabeled Abstract40</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract40" xlink:to="esp_UnlabeledAbstract40_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract41_lbl0" xml:lang="en-US">Unlabeled Abstract41</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract41" xlink:to="esp_UnlabeledAbstract41_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentPolicyTextBlock_lbl0" xml:lang="en-US">Investment, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentPolicyTextBlock" xlink:to="us-gaap_InvestmentPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract44_lbl0" xml:lang="en-US">Unlabeled Abstract44</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract44" xlink:to="esp_UnlabeledAbstract44_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsGross_lbl0" xml:lang="en-US">Deferred Tax Assets, Gross</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsGross_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract42_lbl0" xml:lang="en-US">Unlabeled Abstract42</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract42" xlink:to="esp_UnlabeledAbstract42_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract43_lbl0" xml:lang="en-US">Unlabeled Abstract43</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract43" xlink:to="esp_UnlabeledAbstract43_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MinimumMember_lbl0" xml:lang="en-US">Minimum [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_NonEmployeeDirectorsMember_lbl1" xml:lang="en-US">Non Employee Directors Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_NonEmployeeDirectorsMember" xlink:to="esp_NonEmployeeDirectorsMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl2" xml:lang="en-US">Common Stock, Shares, Outstanding</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl2"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherIncomeAbstract_lbl0" xml:lang="en-US">Component of Operating Income [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherIncomeAbstract" xlink:to="us-gaap_OtherIncomeAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_WeightedAverageRemainingContrSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTermactualTermGranted_lbl1" xml:lang="en-US">Weighted Average Remaining Contr Sharebased Compensation Arrangement By Sharebased Payment Award Options Granted Weighted Average Remaining Contractual Termactual Term Granted</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_WeightedAverageRemainingContrSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTermactualTermGranted" xlink:to="esp_WeightedAverageRemainingContrSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTermactualTermGranted_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentTextBlock_lbl0" xml:lang="en-US">Investment [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentTextBlock" xlink:to="us-gaap_InvestmentTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock_lbl1" xml:lang="en-US">Schedule Of Estimated Useful Lives Of Depreciable Assets Table Text Block</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock" xlink:to="esp_ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl0" xml:lang="en-US">Retained Earnings (Accumulated Deficit)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Depreciation_lbl1" xml:lang="en-US">Depreciation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Depreciation" xlink:to="us-gaap_Depreciation_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl0" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherLiabilities_lbl0" xml:lang="en-US">Other Liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilities" xlink:to="us-gaap_OtherLiabilities_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease_lbl0" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Number of Shares, Period Increase (Decrease)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract11_lbl0" xml:lang="en-US">Unlabeled Abstract11</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract11" xlink:to="esp_UnlabeledAbstract11_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl0" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl0"/>
    <loc xlink:type="locator" xlink:label="esp_ScheduleOfClassifiesInvestmentSecuritiesAsAvailableForSaleAbstract" xlink:href="esp-20240630.xsd#esp_ScheduleOfClassifiesInvestmentSecuritiesAsAvailableForSaleAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_ScheduleOfClassifiesInvestmentSecuritiesAsAvailableForSaleAbstract_lbl" xml:lang="en-US">Schedule Of Classifies Investment Securities As Available For Sale Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ScheduleOfClassifiesInvestmentSecuritiesAsAvailableForSaleAbstract" xlink:to="esp_ScheduleOfClassifiesInvestmentSecuritiesAsAvailableForSaleAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract12_lbl0" xml:lang="en-US">Unlabeled Abstract12</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract12" xlink:to="esp_UnlabeledAbstract12_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract10_lbl0" xml:lang="en-US">Unlabeled Abstract10</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract10" xlink:to="esp_UnlabeledAbstract10_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract15_lbl0" xml:lang="en-US">Unlabeled Abstract15</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract15" xlink:to="esp_UnlabeledAbstract15_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract16_lbl0" xml:lang="en-US">Unlabeled Abstract16</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract16" xlink:to="esp_UnlabeledAbstract16_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract13_lbl0" xml:lang="en-US">Unlabeled Abstract13</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract13" xlink:to="esp_UnlabeledAbstract13_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract14_lbl0" xml:lang="en-US">Unlabeled Abstract14</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract14" xlink:to="esp_UnlabeledAbstract14_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract19_lbl0" xml:lang="en-US">Unlabeled Abstract19</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract19" xlink:to="esp_UnlabeledAbstract19_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract17_lbl0" xml:lang="en-US">Unlabeled Abstract17</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract17" xlink:to="esp_UnlabeledAbstract17_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract18_lbl0" xml:lang="en-US">Unlabeled Abstract18</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract18" xlink:to="esp_UnlabeledAbstract18_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl1" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonMember_lbl0" xml:lang="en-US">Treasury Stock, Common [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonMember" xlink:to="us-gaap_TreasuryStockCommonMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl1" xml:lang="en-US">Property, Plant and Equipment, Net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl0" xml:lang="en-US">Prepaid Expense and Other Assets, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_EmployeeStockOwnershipPlanMember_lbl1" xml:lang="en-US">Employee Stock Ownership Plan Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_EmployeeStockOwnershipPlanMember" xlink:to="esp_EmployeeStockOwnershipPlanMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl0" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnrecognizedGrossContractValue_lbl1" xml:lang="en-US">Unrecognized Gross Contract Value</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnrecognizedGrossContractValue" xlink:to="esp_UnrecognizedGrossContractValue_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MaximumMember_lbl0" xml:lang="en-US">Maximum [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl0" xml:lang="en-US">Income Tax, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract22_lbl0" xml:lang="en-US">Unlabeled Abstract22</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract22" xlink:to="esp_UnlabeledAbstract22_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl0" xml:lang="en-US">Common Stock, Shares Authorized</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract23_lbl0" xml:lang="en-US">Unlabeled Abstract23</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract23" xlink:to="esp_UnlabeledAbstract23_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract20_lbl0" xml:lang="en-US">Unlabeled Abstract20</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract20" xlink:to="esp_UnlabeledAbstract20_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract21_lbl0" xml:lang="en-US">Unlabeled Abstract21</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract21" xlink:to="esp_UnlabeledAbstract21_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract26_lbl0" xml:lang="en-US">Unlabeled Abstract26</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract26" xlink:to="esp_UnlabeledAbstract26_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract27_lbl0" xml:lang="en-US">Unlabeled Abstract27</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract27" xlink:to="esp_UnlabeledAbstract27_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract24_lbl0" xml:lang="en-US">Unlabeled Abstract24</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract24" xlink:to="esp_UnlabeledAbstract24_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract25_lbl0" xml:lang="en-US">Unlabeled Abstract25</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract25" xlink:to="esp_UnlabeledAbstract25_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl0" xml:lang="en-US">Revenue from Contract with Customer, Including Assessed Tax</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl0" xml:lang="en-US">Accounts Receivable [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:to="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl1" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskCreditRisk_lbl0" xml:lang="en-US">Concentration Risk, Credit Risk, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskCreditRisk" xlink:to="us-gaap_ConcentrationRiskCreditRisk_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl0" xml:lang="en-US">Share-Based Payment Arrangement, Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl0" xml:lang="en-US">Increase (Decrease) in Operating Capital [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl0" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_NonQualifiedStockOptionsMember_lbl1" xml:lang="en-US">Non Qualified Stock Options Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_NonQualifiedStockOptionsMember" xlink:to="esp_NonQualifiedStockOptionsMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedSalariesCurrent_lbl0" xml:lang="en-US">Accrued Salaries, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedSalariesCurrent" xlink:to="us-gaap_AccruedSalariesCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl0" xml:lang="en-US">Additional Paid-in Capital [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock_lbl1" xml:lang="en-US">Schedule Of Reserved Common Shares For Future Issuance Table Text Block</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock" xlink:to="esp_ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl0" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract_lbl0" xml:lang="en-US">Deferred Tax Assets, Net [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsNetAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock_lbl0" xml:lang="en-US">Schedule of Nonvested Share Activity [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl0" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl0" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_lbl0" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercised_lbl1" xml:lang="en-US">Share Based Compensation Arrangement By Share Based Payment Award Options Vested And Expected To Vest Exercised</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercised" xlink:to="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercised_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_lbl0" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares_lbl0" xml:lang="en-US">Employee Stock Ownership Plan (ESOP), Number of Allocated Shares</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock_lbl0" xml:lang="en-US">Significant Accounting Policies [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_lbl0" xml:lang="en-US">Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_lbl0" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-Based Compensation Cost</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract3_lbl0" xml:lang="en-US">Unlabeled Abstract3</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract3" xlink:to="esp_UnlabeledAbstract3_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract2_lbl0" xml:lang="en-US">Unlabeled Abstract2</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract2" xlink:to="esp_UnlabeledAbstract2_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract5_lbl0" xml:lang="en-US">Unlabeled Abstract5</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract5" xlink:to="esp_UnlabeledAbstract5_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract4_lbl0" xml:lang="en-US">Unlabeled Abstract4</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract4" xlink:to="esp_UnlabeledAbstract4_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl0" xml:lang="en-US">Gain (Loss) on Disposition of Property Plant Equipment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesIssuedBasic_lbl0" xml:lang="en-US">Weighted Average Number of Shares Issued, Basic</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesIssuedBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesIssuedBasic_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionOutstandingNumber_lbl1" xml:lang="en-US">Share Based Compensation Arrangement By Share Based Payment Award Option Outstanding Number</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionOutstandingNumber" xlink:to="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionOutstandingNumber_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl0" xml:lang="en-US">AOCI Attributable to Parent [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract1_lbl0" xml:lang="en-US">Unlabeled Abstract1</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract1" xlink:to="esp_UnlabeledAbstract1_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract0_lbl0" xml:lang="en-US">Unlabeled Abstract0</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract0" xlink:to="esp_UnlabeledAbstract0_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities_lbl0" xml:lang="en-US">Proceeds from Sale and Maturity of Debt Securities, Available-for-Sale</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities" xlink:to="us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl0" xml:lang="en-US">Property, Plant and Equipment, Useful Life</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl0" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract7_lbl0" xml:lang="en-US">Unlabeled Abstract7</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract7" xlink:to="esp_UnlabeledAbstract7_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl0" xml:lang="en-US">Common Stock, Capital Shares Reserved for Future Issuance</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract6_lbl0" xml:lang="en-US">Unlabeled Abstract6</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract6" xlink:to="esp_UnlabeledAbstract6_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl0" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract9_lbl0" xml:lang="en-US">Unlabeled Abstract9</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract9" xlink:to="esp_UnlabeledAbstract9_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract8_lbl0" xml:lang="en-US">Unlabeled Abstract8</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract8" xlink:to="esp_UnlabeledAbstract8_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_TwoThousandSeventeenPlanMember_lbl1" xml:lang="en-US">Two Thousand Seventeen Plan Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_TwoThousandSeventeenPlanMember" xlink:to="esp_TwoThousandSeventeenPlanMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_lbl0" xml:lang="en-US">Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl0" xml:lang="en-US">Related Party Transactions Disclosure [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl0" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PensionContributions_lbl0" xml:lang="en-US">Payment for Pension Benefits</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionContributions" xlink:to="us-gaap_PensionContributions_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_lbl0" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued Liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedPayrollTaxesCurrent_lbl0" xml:lang="en-US">Accrued Payroll Taxes, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedPayrollTaxesCurrent" xlink:to="us-gaap_AccruedPayrollTaxesCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_BacklogPercentageOfRecognitionsYearThree_lbl1" xml:lang="en-US">Backlog Percentage Of Recognitions Year Three</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_BacklogPercentageOfRecognitionsYearThree" xlink:to="esp_BacklogPercentageOfRecognitionsYearThree_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockOptionMember_lbl0" xml:lang="en-US">Equity Option [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockOptionMember" xlink:to="us-gaap_StockOptionMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_FloatingRatePercentage_lbl1" xml:lang="en-US">Floating Rate Percentage</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_FloatingRatePercentage" xlink:to="esp_FloatingRatePercentage_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesNetAbstract_lbl0" xml:lang="en-US">Deferred Tax Liabilities, Net [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesNetAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_DeferredTaxLiability_lbl1" xml:lang="en-US">Deferred Tax Liability</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_DeferredTaxLiability" xlink:to="esp_DeferredTaxLiability_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquity_lbl2" xml:lang="en-US">Equity, Attributable to Parent</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl2"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl0" xml:lang="en-US">Revenue from Contract with Customer [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses_lbl0" xml:lang="en-US">Deferred Tax Liabilities, Prepaid Expenses</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:to="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl0" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss), Net of Tax</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FurnitureAndFixturesMember_lbl0" xml:lang="en-US">Furniture and Fixtures [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FurnitureAndFixturesMember" xlink:to="us-gaap_FurnitureAndFixturesMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LandMember_lbl0" xml:lang="en-US">Land [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LandMember" xlink:to="us-gaap_LandMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl0" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Other Adjustments, Percent</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_lbl0" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Nonvested Options Forfeited, Weighted Average Grant Date Fair Value</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl0" xml:lang="en-US">Cash and Cash Equivalents, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl0" xml:lang="en-US">Schedule of Deferred Tax Assets and Liabilities [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl0" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnlabeledAbstract_lbl0" xml:lang="en-US">Unlabeled Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnlabeledAbstract" xlink:to="esp_UnlabeledAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_RestrictedStockPlanMember_lbl0" xml:lang="en-US">Restricted Stock Plan Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_RestrictedStockPlanMember" xlink:to="esp_RestrictedStockPlanMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_TotalMilestoneReimbursementsReceivedAmount_lbl1" xml:lang="en-US">Total Milestone Reimbursements Received Amount</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_TotalMilestoneReimbursementsReceivedAmount" xlink:to="esp_TotalMilestoneReimbursementsReceivedAmount_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl0" xml:lang="en-US">Quarterly Financial Information [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:to="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BuildingImprovementsMember_lbl0" xml:lang="en-US">Building Improvements [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BuildingImprovementsMember" xlink:to="us-gaap_BuildingImprovementsMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SalesRevenueNetMember_lbl0" xml:lang="en-US">Revenue Benchmark [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesRevenueNetMember" xlink:to="us-gaap_SalesRevenueNetMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl0" xml:lang="en-US">Property, Plant and Equipment Disclosure [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl1" xml:lang="en-US">Deferred Income Tax Expense (Benefit)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_RecentlyAdoptedAccountingStandardsPolicyTextBlock_lbl1" xml:lang="en-US">Recently Adopted Accounting Standards Policy Text Block</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_RecentlyAdoptedAccountingStandardsPolicyTextBlock" xlink:to="esp_RecentlyAdoptedAccountingStandardsPolicyTextBlock_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_CommonStockParValue3313PerShareAbstract_lbl0" xml:lang="en-US">Common Stock Par Value3313 Per Share Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_CommonStockParValue3313PerShareAbstract" xlink:to="esp_CommonStockParValue3313PerShareAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl0" xml:lang="en-US">Share-Based Payment Arrangement, Option, Activity [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl0" xml:lang="en-US">Equity [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_BacklogPercentageOfRecognitionsYearOne_lbl1" xml:lang="en-US">Backlog Percentage Of Recognitions Year One</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_BacklogPercentageOfRecognitionsYearOne" xlink:to="esp_BacklogPercentageOfRecognitionsYearOne_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl0" xml:lang="en-US">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_lbl0" xml:lang="en-US">OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, Tax</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" xlink:to="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OrderOrProductionBacklogMember_lbl0" xml:lang="en-US">Order or Production Backlog [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrderOrProductionBacklogMember" xlink:to="us-gaap_OrderOrProductionBacklogMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl0" xml:lang="en-US">Property, Plant and Equipment [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPDeferredSharesFairValue_lbl0" xml:lang="en-US">Employee Stock Ownership Plan (ESOP), Deferred Shares, Fair Value</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPDeferredSharesFairValue" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPDeferredSharesFairValue_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl0" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_BacklogPercentageOfRecognitions_lbl1" xml:lang="en-US">Backlog Percentage Of Recognitions</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_BacklogPercentageOfRecognitions" xlink:to="esp_BacklogPercentageOfRecognitions_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_BacklogPercentageOfRecognitionsYearTwo_lbl1" xml:lang="en-US">Backlog Percentage Of Recognitions Year Two</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_BacklogPercentageOfRecognitionsYearTwo" xlink:to="esp_BacklogPercentageOfRecognitionsYearTwo_lbl1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_lbl" xml:lang="en-US">Statement of Financial Position [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTerm2_lbl0" xml:lang="en-US">Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Remaining Contractual Term</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTerm2" xlink:to="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTerm2_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl0" xml:lang="en-US">Cash and Cash Equivalents, at Carrying Value</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_lbl0" xml:lang="en-US">Deferred Tax Liabilities, Gross</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl0" xml:lang="en-US">Increase (Decrease) in Accounts Receivable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares_lbl1" xml:lang="en-US">Effective Income Tax Rate Reconciliation Dividend On Allocated ESOPShares</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares" xlink:to="esp_EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl0" xml:lang="en-US">Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherNonoperatingIncome_lbl0" xml:lang="en-US">Other Nonoperating Income</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncome" xlink:to="us-gaap_OtherNonoperatingIncome_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensation_lbl0" xml:lang="en-US">Share-Based Payment Arrangement, Noncash Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts_lbl0" xml:lang="en-US">Deferred Tax Liabilities, Inventory</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts" xlink:to="us-gaap_DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_lbl0" xml:lang="en-US">Defined Contribution Plan, Employer Matching Contribution, Percent of Employees&apos; Gross Pay</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl0" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryNet_lbl0" xml:lang="en-US">Inventory, Net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_lbl0" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UseOfEstimates_lbl0" xml:lang="en-US">Use of Estimates, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UseOfEstimates" xlink:to="us-gaap_UseOfEstimates_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingencies_lbl0" xml:lang="en-US">Commitments and Contingencies</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl0" xml:lang="en-US">Comprehensive Income, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:to="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl0" xml:lang="en-US">Income Taxes Paid, Net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesPaidNet" xlink:to="us-gaap_IncomeTaxesPaidNet_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl0" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Rate</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockValue_lbl0" xml:lang="en-US">Common Stock, Value, Issued</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl0" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Percent</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl0" xml:lang="en-US">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl0" xml:lang="en-US">Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_lbl0" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestCancelled_lbl1" xml:lang="en-US">Share Based Compensation Arrangement By Share Based Payment Award Options Vested And Expected To Vest Cancelled</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestCancelled" xlink:to="esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestCancelled_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnearnedEsopSharesCost_lbl1" xml:lang="en-US">Unearned Esop Shares Cost</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnearnedEsopSharesCost" xlink:to="esp_UnearnedEsopSharesCost_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl0" xml:lang="en-US">Increase (Decrease) in Prepaid Expense and Other Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_DeferredTaxAssetsCurrent_lbl1" xml:lang="en-US">Deferred Tax Assets Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_DeferredTaxAssetsCurrent" xlink:to="esp_DeferredTaxAssetsCurrent_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan_lbl0" xml:lang="en-US">Stock Issued During Period, Value, Employee Stock Ownership Plan</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" xlink:to="us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract_lbl" xml:lang="en-US">Statement of Stockholders&apos; Equity [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementOfStockholdersEquityAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl1" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl0" xml:lang="en-US">Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl1" xml:lang="en-US">Income Tax Expense (Benefit)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskDisclosureTextBlock_lbl0" xml:lang="en-US">Concentration Risk Disclosure [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:to="us-gaap_ConcentrationRiskDisclosureTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_EmployeeStockOwnershipPlanTextBlock_lbl1" xml:lang="en-US">Employee Stock Ownership Plan Text Block</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_EmployeeStockOwnershipPlanTextBlock" xlink:to="esp_EmployeeStockOwnershipPlanTextBlock_lbl1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeStatementAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementAbstract_lbl" xml:lang="en-US">Income Statement [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_SignificantCustomersTextBlock_lbl1" xml:lang="en-US">Significant Customers Text Block</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_SignificantCustomersTextBlock" xlink:to="esp_SignificantCustomersTextBlock_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_IndividualEmployeeMember_lbl1" xml:lang="en-US">Individual Employee Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_IndividualEmployeeMember" xlink:to="esp_IndividualEmployeeMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl0" xml:lang="en-US">New Accounting Pronouncements, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased_lbl0" xml:lang="en-US">Weighted Average Number of Shares, Employee Stock Ownership Plan Shares Not Committed to be Released</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased" xlink:to="us-gaap_WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_DeferredTaxAssetLiability_lbl1" xml:lang="en-US">Deferred Tax Asset Liability</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_DeferredTaxAssetLiability" xlink:to="esp_DeferredTaxAssetLiability_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPNumberOfSuspenseShares_lbl0" xml:lang="en-US">Employee Stock Ownership Plan (ESOP), Number of Suspense Shares</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPNumberOfSuspenseShares" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPNumberOfSuspenseShares_lbl0"/>
    <loc xlink:type="locator" xlink:label="esp_ScheduleOfPropertyPlantAndEquipmentAbstract" xlink:href="esp-20240630.xsd#esp_ScheduleOfPropertyPlantAndEquipmentAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_ScheduleOfPropertyPlantAndEquipmentAbstract_lbl" xml:lang="en-US">Schedule Of Property Plant And Equipment Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ScheduleOfPropertyPlantAndEquipmentAbstract" xlink:to="esp_ScheduleOfPropertyPlantAndEquipmentAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryRawMaterials_lbl0" xml:lang="en-US">Inventory, Raw Materials, Gross</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryRawMaterials" xlink:to="us-gaap_InventoryRawMaterials_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_ProceedsFromGrantAward_lbl1" xml:lang="en-US">Proceeds From Grant Award</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ProceedsFromGrantAward" xlink:to="esp_ProceedsFromGrantAward_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasic_lbl1" xml:lang="en-US">Earnings Per Share, Basic</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_ContractLiabilitiesPolicyTextBlock_lbl1" xml:lang="en-US">Contract Liabilities Policy Text Block</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ContractLiabilitiesPolicyTextBlock" xlink:to="esp_ContractLiabilitiesPolicyTextBlock_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireInvestments_lbl0" xml:lang="en-US">Payments to Acquire Investments</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireInvestments" xlink:to="us-gaap_PaymentsToAcquireInvestments_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockValue_lbl0" xml:lang="en-US">Treasury Stock, Value</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockValue" xlink:to="us-gaap_TreasuryStockValue_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Assets_lbl0" xml:lang="en-US">Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Liabilities_lbl0" xml:lang="en-US">Liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_ContractExtendTerm_lbl1" xml:lang="en-US">Contract Extend Term</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ContractExtendTerm" xlink:to="esp_ContractExtendTerm_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableMember_lbl0" xml:lang="en-US">Accounts Receivable [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableMember" xlink:to="us-gaap_AccountsReceivableMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl0" xml:lang="en-US">Share-Based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromRepurchaseOfEquity_lbl0" xml:lang="en-US">Proceeds from (Repurchase of) Equity</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromRepurchaseOfEquity" xlink:to="us-gaap_ProceedsFromRepurchaseOfEquity_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquipmentExpense_lbl0" xml:lang="en-US">Equipment Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquipmentExpense" xlink:to="us-gaap_EquipmentExpense_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl0" xml:lang="en-US">Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl0" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TradingSecuritiesDebtAmortizedCost_lbl0" xml:lang="en-US">Debt Securities, Trading, Amortized Cost</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradingSecuritiesDebtAmortizedCost" xlink:to="us-gaap_TradingSecuritiesDebtAmortizedCost_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl1" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl0" xml:lang="en-US">Increase (Decrease) in Inventories</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl1" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockDividendsPerShareCashPaid_lbl1" xml:lang="en-US">Common Stock, Dividends, Per Share, Cash Paid</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockDividendsPerShareCashPaid" xlink:to="us-gaap_CommonStockDividendsPerShareCashPaid_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl0" xml:lang="en-US">Additional Paid in Capital, Common Stock</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsOfDividendsCommonStock_lbl0" xml:lang="en-US">Payments of Ordinary Dividends, Common Stock</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfDividendsCommonStock" xlink:to="us-gaap_PaymentsOfDividendsCommonStock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl0" xml:lang="en-US">Inventory, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl0" xml:lang="en-US">Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl0" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_EffectiveIncomeTaxRateReconciliationESOPFairValue_lbl1" xml:lang="en-US">Effective Income Tax Rate Reconciliation ESOPFair Value</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_EffectiveIncomeTaxRateReconciliationESOPFairValue" xlink:to="esp_EffectiveIncomeTaxRateReconciliationESOPFairValue_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl0" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_AccruedExpensesAbstract_lbl0" xml:lang="en-US">Accrued Expenses Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_AccruedExpensesAbstract" xlink:to="esp_AccruedExpensesAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_TotalStockholdersEquityBeforyEsopAndTreasuryStock_lbl1" xml:lang="en-US">Total Stockholders Equity Befory Esop And Treasury Stock</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_TotalStockholdersEquityBeforyEsopAndTreasuryStock" xlink:to="esp_TotalStockholdersEquityBeforyEsopAndTreasuryStock_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MachineryAndEquipmentMember_lbl0" xml:lang="en-US">Machinery and Equipment [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MachineryAndEquipmentMember" xlink:to="us-gaap_MachineryAndEquipmentMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl0" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableCurrent_lbl0" xml:lang="en-US">Accounts Payable, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableCurrent" xlink:to="us-gaap_AccountsPayableCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermContractsOrProgramsDisclosureTextBlock_lbl0" xml:lang="en-US">Long-Term Contracts or Programs Disclosure [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermContractsOrProgramsDisclosureTextBlock" xlink:to="us-gaap_LongTermContractsOrProgramsDisclosureTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl0" xml:lang="en-US">Property, Plant and Equipment, Gross</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableCurrentAndNoncurrent_lbl0" xml:lang="en-US">Accounts Payable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableCurrentAndNoncurrent" xlink:to="us-gaap_AccountsPayableCurrentAndNoncurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice_lbl0" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Exercise Price</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLossAbstract_lbl0" xml:lang="en-US">Net Income (Loss) Attributable to Parent [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAbstract" xlink:to="us-gaap_NetIncomeLossAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventMember_lbl0" xml:lang="en-US">Subsequent Event [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventMember" xlink:to="us-gaap_SubsequentEventMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitExpense_lbl0" xml:lang="en-US">Pension and Other Postretirement Benefits Cost (Reversal of Cost)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionAndOtherPostretirementBenefitExpense" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitExpense_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl0" xml:lang="en-US">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccruedSalaries_lbl0" xml:lang="en-US">Increase (Decrease) in Accrued Salaries</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedSalaries" xlink:to="us-gaap_IncreaseDecreaseInAccruedSalaries_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_MilestonesAchievedMember_lbl1" xml:lang="en-US">Milestones Achieved Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_MilestonesAchievedMember" xlink:to="esp_MilestonesAchievedMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiability_lbl0" xml:lang="en-US">Contract with Customer, Liability</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingIncomeLoss_lbl0" xml:lang="en-US">Operating Income (Loss)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPCompensationExpense_lbl0" xml:lang="en-US">Employee Stock Ownership Plan (ESOP), Compensation Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPCompensationExpense" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPCompensationExpense_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl1" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_lbl0" xml:lang="en-US">Increase (Decrease) in Other Accrued Liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_ComprehensiveIncomeAbstract_lbl0" xml:lang="en-US">Comprehensive Income Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ComprehensiveIncomeAbstract" xlink:to="esp_ComprehensiveIncomeAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl0" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_lbl0" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-Based Payment Arrangement, Percent</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue_lbl0" xml:lang="en-US">Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, after Year One Through Five</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl0" xml:lang="en-US">Debt Instrument, Interest Rate, Stated Percentage</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl0" xml:lang="en-US">Revenue from Contract with Customer [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TaxesPayableCurrent_lbl0" xml:lang="en-US">Taxes Payable, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxesPayableCurrent" xlink:to="us-gaap_TaxesPayableCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CertificatesOfDepositMember_lbl0" xml:lang="en-US">Certificates of Deposit [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CertificatesOfDepositMember" xlink:to="us-gaap_CertificatesOfDepositMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockMember_lbl1" xml:lang="en-US">Common Stock [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_IncreaseReductionInRateResultingFromAbstract_lbl0" xml:lang="en-US">Increase Reduction In Rate Resulting From Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_IncreaseReductionInRateResultingFromAbstract" xlink:to="esp_IncreaseReductionInRateResultingFromAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_lbl0" xml:lang="en-US">Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementOfCashFlowsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfCashFlowsAbstract_lbl" xml:lang="en-US">Statement of Cash Flows [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl1" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_USFederalAndStateMember_lbl0" xml:lang="en-US">USFederal And State Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_USFederalAndStateMember" xlink:to="esp_USFederalAndStateMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl0" xml:lang="en-US">Income Tax Disclosure [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl0"/>
    <loc xlink:type="locator" xlink:label="esp_ScheduleOfReservedCommonSharesForFutureIssuanceAbstract" xlink:href="esp-20240630.xsd#esp_ScheduleOfReservedCommonSharesForFutureIssuanceAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_ScheduleOfReservedCommonSharesForFutureIssuanceAbstract_lbl" xml:lang="en-US">Schedule Of Reserved Common Shares For Future Issuance Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ScheduleOfReservedCommonSharesForFutureIssuanceAbstract" xlink:to="esp_ScheduleOfReservedCommonSharesForFutureIssuanceAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl1" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_DeferredTaxAssetsPensionWithdrawal_lbl0" xml:lang="en-US">Deferred Tax Assets Pension Withdrawal</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_DeferredTaxAssetsPensionWithdrawal" xlink:to="esp_DeferredTaxAssetsPensionWithdrawal_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_lbl0" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested, Weighted Average Grant Date Fair Value</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsOther_lbl0" xml:lang="en-US">Deferred Tax Assets, Other</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOther" xlink:to="us-gaap_DeferredTaxAssetsOther_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_lbl0" xml:lang="en-US">Selling, General and Administrative Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_EmployeeStockOwnershipPlanHoursWorked_lbl1" xml:lang="en-US">Employee Stock Ownership Plan Hours Worked</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_EmployeeStockOwnershipPlanHoursWorked" xlink:to="esp_EmployeeStockOwnershipPlanHoursWorked_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_InventoriesAbstract_lbl0" xml:lang="en-US">Inventories Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_InventoriesAbstract" xlink:to="esp_InventoriesAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_IncreaseDecreaseInVacationAccrual_lbl1" xml:lang="en-US">Increase Decrease In Vacation Accrual</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_IncreaseDecreaseInVacationAccrual" xlink:to="esp_IncreaseDecreaseInVacationAccrual_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_DefinedContributionPlanEmployersMatchingContribution_lbl0" xml:lang="en-US">Defined Contribution Plan Employers Matching Contribution</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_DefinedContributionPlanEmployersMatchingContribution" xlink:to="esp_DefinedContributionPlanEmployersMatchingContribution_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeStockMember_lbl0" xml:lang="en-US">Employee Stock [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockMember" xlink:to="us-gaap_EmployeeStockMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl0" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Intrinsic Value</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition_lbl0" xml:lang="en-US">APIC, Share-Based Payment Arrangement, Option, Increase for Cost Recognition</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_IncentiveStockOptionMember_lbl1" xml:lang="en-US">Incentive Stock Option Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_IncentiveStockOptionMember" xlink:to="esp_IncentiveStockOptionMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl0" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesHeldInEmployeeTrustShares_lbl0" xml:lang="en-US">Common Stock, Shares Held in Employee Trust, Shares</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesHeldInEmployeeTrustShares" xlink:to="us-gaap_CommonStockSharesHeldInEmployeeTrustShares_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherEmployeeRelatedLiabilitiesCurrent_lbl0" xml:lang="en-US">Other Employee-related Liabilities, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherEmployeeRelatedLiabilitiesCurrent" xlink:to="us-gaap_OtherEmployeeRelatedLiabilitiesCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl0" xml:lang="en-US">Share-Based Payment Arrangement [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_lbl0" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested, Number of Shares</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl0" xml:lang="en-US">Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnearnedESOPSharesMember_lbl1" xml:lang="en-US">Unearned ESOPShares Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnearnedESOPSharesMember" xlink:to="esp_UnearnedESOPSharesMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl0" xml:lang="en-US">Fair Value of Financial Instruments, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SupplementalCashFlowElementsAbstract_lbl0" xml:lang="en-US">Supplemental Cash Flow Elements [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_SupplementalCashFlowElementsAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesContingentlyIssuable_lbl0" xml:lang="en-US">Weighted Average Number of Shares, Contingently Issuable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesContingentlyIssuable" xlink:to="us-gaap_WeightedAverageNumberOfSharesContingentlyIssuable_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ImpairmentOfLongLivedAssetsToBeDisposedOf_lbl0" xml:lang="en-US">Impairment of Long-Lived Assets to be Disposed of</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOfLongLivedAssetsToBeDisposedOf" xlink:to="us-gaap_ImpairmentOfLongLivedAssetsToBeDisposedOf_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MunicipalBondsMember_lbl0" xml:lang="en-US">Municipal Bonds [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MunicipalBondsMember" xlink:to="us-gaap_MunicipalBondsMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_lbl0" xml:lang="en-US">Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_PercentageOfTotalNumberOfSharesSubjectToOptionsOrAwardsSingleFiscalYear_lbl1" xml:lang="en-US">Percentage Of Total Number Of Shares Subject To Options Or Awards Single Fiscal Year</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_PercentageOfTotalNumberOfSharesSubjectToOptionsOrAwardsSingleFiscalYear" xlink:to="esp_PercentageOfTotalNumberOfSharesSubjectToOptionsOrAwardsSingleFiscalYear_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax_lbl0" xml:lang="en-US">Other Comprehensive Income (Loss), Defined Benefit Plan, Gain (Loss) Arising During Period, after Tax</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NatureOfOperations_lbl0" xml:lang="en-US">Nature of Operations [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NatureOfOperations" xlink:to="us-gaap_NatureOfOperations_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LandBuildingsAndImprovementsMember_lbl0" xml:lang="en-US">Land, Buildings and Improvements [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LandBuildingsAndImprovementsMember" xlink:to="us-gaap_LandBuildingsAndImprovementsMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_lbl1" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Nonvested, Number of Shares</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Revenues_lbl2" xml:lang="en-US">Revenues</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_lbl2"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockOtherSharesOutstanding_lbl0" xml:lang="en-US">Common Stock, Other Shares, Outstanding</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockOtherSharesOutstanding" xlink:to="us-gaap_CommonStockOtherSharesOutstanding_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharePrice_lbl0" xml:lang="en-US">Share Price</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharePrice" xlink:to="us-gaap_SharePrice_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl0" xml:lang="en-US">Stock Issued During Period, Value, Stock Options Exercised</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_lbl1" xml:lang="en-US">Debt Securities, Available-for-Sale, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonShares_lbl0" xml:lang="en-US">Treasury Stock, Common, Shares</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonShares" xlink:to="us-gaap_TreasuryStockCommonShares_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl0" xml:lang="en-US">Increase (Decrease) in Contract with Customer, Liability</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl0" xml:lang="en-US">Current State and Local Tax Expense (Benefit)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_IncreasedecreaseInPayrollAndOtherTaxesWithheld_lbl1" xml:lang="en-US">Increasedecrease In Payroll And Other Taxes Withheld</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_IncreasedecreaseInPayrollAndOtherTaxesWithheld" xlink:to="esp_IncreasedecreaseInPayrollAndOtherTaxesWithheld_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_LineOfCreditTextBlock_lbl0" xml:lang="en-US">Line Of Credit Text Block</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_LineOfCreditTextBlock" xlink:to="esp_LineOfCreditTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LettersOfCreditOutstandingAmount_lbl0" xml:lang="en-US">Letters of Credit Outstanding, Amount</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LettersOfCreditOutstandingAmount" xlink:to="us-gaap_LettersOfCreditOutstandingAmount_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock_lbl0" xml:lang="en-US">Debt Securities, Available-for-Sale [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl0" xml:lang="en-US">Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl1" xml:lang="en-US">Concentration Risk, Percentage</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareAbstract_lbl0" xml:lang="en-US">Earnings Per Share [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl0" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl0" xml:lang="en-US">Contract with Customer, Liability, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl0" xml:lang="en-US">Common Stock, Par or Stated Value Per Share</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_TwoThousandSevenPlanMember_lbl1" xml:lang="en-US">Two Thousand Seven Plan Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_TwoThousandSevenPlanMember" xlink:to="esp_TwoThousandSevenPlanMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl0" xml:lang="en-US">Earnings Per Share, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesIssued_lbl0" xml:lang="en-US">Common Stock, Shares, Issued</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable_lbl0" xml:lang="en-US">Increase (Decrease) in Income Taxes Receivable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable" xlink:to="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_ComprehensiveIncomeAbstract0_lbl0" xml:lang="en-US">Comprehensive Income Abstract0</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ComprehensiveIncomeAbstract0" xlink:to="esp_ComprehensiveIncomeAbstract0_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl1" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GrossProfit_lbl1" xml:lang="en-US">Gross Profit</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl1"/>
    <loc xlink:type="locator" xlink:label="esp_ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsAbstract" xlink:href="esp-20240630.xsd#esp_ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsAbstract_lbl" xml:lang="en-US">Schedule Of Estimated Useful Lives Of Depreciable Assets Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsAbstract" xlink:to="esp_ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesEmployeeBenefitPlan_lbl0" xml:lang="en-US">Stock Issued During Period, Shares, Employee Benefit Plan</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesEmployeeBenefitPlan" xlink:to="us-gaap_StockIssuedDuringPeriodSharesEmployeeBenefitPlan_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl0" xml:lang="en-US">Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl0" xml:lang="en-US">Retirement Benefits [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl1" xml:lang="en-US">Accounts Receivable, after Allowance for Credit Loss, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_ScheduleOfContractsInProcessTableTextBlock_lbl1" xml:lang="en-US">Schedule Of Contracts In Process Table Text Block</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_ScheduleOfContractsInProcessTableTextBlock" xlink:to="esp_ScheduleOfContractsInProcessTableTextBlock_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryWorkInProcess_lbl0" xml:lang="en-US">Inventory, Work in Process, Gross</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryWorkInProcess" xlink:to="us-gaap_InventoryWorkInProcess_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentOtherNet_lbl0" xml:lang="en-US">Property, Plant and Equipment, Other, Net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentOtherNet" xlink:to="us-gaap_PropertyPlantAndEquipmentOtherNet_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl0" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrent_lbl0" xml:lang="en-US">Liabilities, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_lbl0" xml:lang="en-US">Increase (Decrease) in Accounts Payable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl0" xml:lang="en-US">Deferred Tax Liabilities, Property, Plant and Equipment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl0" xml:lang="en-US">Liabilities and Equity [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl0" xml:lang="en-US">Proceeds from Sale of Property, Plant, and Equipment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl0" xml:lang="en-US">Commitments and Contingencies Disclosure [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CustomerConcentrationRiskMember_lbl0" xml:lang="en-US">Customer Concentration Risk [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerConcentrationRiskMember" xlink:to="us-gaap_CustomerConcentrationRiskMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock_lbl0" xml:lang="en-US">Quarterly Financial Information [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_QuarterlyFinancialInformationTextBlock" xlink:to="us-gaap_QuarterlyFinancialInformationTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl0" xml:lang="en-US">Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfRevenue_lbl0" xml:lang="en-US">Cost of Revenue</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfRevenue" xlink:to="us-gaap_CostOfRevenue_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_UnitsDeliveredMember_lbl1" xml:lang="en-US">Units Delivered Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_UnitsDeliveredMember" xlink:to="esp_UnitsDeliveredMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl0" xml:lang="en-US">Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl0" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryForLongTermContractsOrPrograms_lbl0" xml:lang="en-US">Inventory for Long-Term Contracts or Programs, Gross</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryForLongTermContractsOrPrograms" xlink:to="us-gaap_InventoryForLongTermContractsOrPrograms_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_SharebasedCompensationArrangementsBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl0" xml:lang="en-US">Sharebased Compensation Arrangements By Sharebased Payment Award Options Outstanding Weighted Average Remaining Contractual Term2</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_SharebasedCompensationArrangementsBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="esp_SharebasedCompensationArrangementsBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareDilutedAbstract_lbl0" xml:lang="en-US">Earnings Per Share, Diluted [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDilutedAbstract" xlink:to="us-gaap_EarningsPerShareDilutedAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl0" xml:lang="en-US">Liabilities and Equity</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEmployeeStockOwnershipPlanESOPDisclosuresTextBlock_lbl0" xml:lang="en-US">Employee Stock Ownership Plan (ESOP) Disclosures [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEmployeeStockOwnershipPlanESOPDisclosuresTextBlock" xlink:to="us-gaap_ScheduleOfEmployeeStockOwnershipPlanESOPDisclosuresTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_FiveCustomersMember_lbl0" xml:lang="en-US">Five Customers Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_FiveCustomersMember" xlink:to="esp_FiveCustomersMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit_lbl0" xml:lang="en-US">Current Federal Tax Expense (Benefit)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesCommonStockSubjectToRepurchaseOrCancellation_lbl0" xml:lang="en-US">Weighted Average Number of Shares, Common Stock Subject to Repurchase or Cancellation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesCommonStockSubjectToRepurchaseOrCancellation" xlink:to="us-gaap_WeightedAverageNumberOfSharesCommonStockSubjectToRepurchaseOrCancellation_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_USTreasuryBillSecuritiesMember_lbl0" xml:lang="en-US">US Treasury Bill Securities [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_USTreasuryBillSecuritiesMember" xlink:to="us-gaap_USTreasuryBillSecuritiesMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DividendsCommonStockCash_lbl0" xml:lang="en-US">Dividends, Common Stock, Cash</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsCommonStockCash" xlink:to="us-gaap_DividendsCommonStockCash_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="esp_June302024Abstract_lbl0" xml:lang="en-US">June302024 Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="esp_June302024Abstract" xlink:to="esp_June302024Abstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrent_lbl0" xml:lang="en-US">Assets, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_lbl0" xml:lang="en-US">Increase (Decrease) in Income Taxes Payable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationDepletionAndAmortizationPolicyTextBlock_lbl0" xml:lang="en-US">Depreciation, Depletion, and Amortization [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationDepletionAndAmortizationPolicyTextBlock" xlink:to="us-gaap_DepreciationDepletionAndAmortizationPolicyTextBlock_lbl0"/>
  </labelLink>
</linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>14
<FILENAME>esp-20240630_pre.xml
<DESCRIPTION>XBRL PRESENTATION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!-- Generated by CompSci Transform (tm) - http://www.compsciresources.com -->
<!-- Created: Thu Sep 26 20:44:29 UTC 2024 -->
<linkbase xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ConsolidatedBalanceSheet" roleURI="http://espey.com/role/ConsolidatedBalanceSheet"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ConsolidatedBalanceSheet_Parentheticals" roleURI="http://espey.com/role/ConsolidatedBalanceSheet_Parentheticals"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ConsolidatedIncomeStatement" roleURI="http://espey.com/role/ConsolidatedIncomeStatement"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ShareholdersEquityType2or3" roleURI="http://espey.com/role/ShareholdersEquityType2or3"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ShareholdersEquityType2or3_Parentheticals" roleURI="http://espey.com/role/ShareholdersEquityType2or3_Parentheticals"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ConsolidatedCashFlow" roleURI="http://espey.com/role/ConsolidatedCashFlow"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_NatureofOperations" roleURI="http://espey.com/role/NatureofOperations"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_SummaryofSignificantAccountingPolicies" roleURI="http://espey.com/role/SummaryofSignificantAccountingPolicies"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_Revenue" roleURI="http://espey.com/role/Revenue"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_InvestmentSecurities" roleURI="http://espey.com/role/InvestmentSecurities"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ContractsinProcess" roleURI="http://espey.com/role/ContractsinProcess"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_PropertyPlantandEquipment" roleURI="http://espey.com/role/PropertyPlantandEquipment"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_PensionExpense" roleURI="http://espey.com/role/PensionExpense"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ProvisionforIncomeTaxes" roleURI="http://espey.com/role/ProvisionforIncomeTaxes"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_SignificantCustomers" roleURI="http://espey.com/role/SignificantCustomers"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_EmployeeStockOwnershipPlan" roleURI="http://espey.com/role/EmployeeStockOwnershipPlan"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_StockbasedCompensation" roleURI="http://espey.com/role/StockbasedCompensation"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ConcentrationofCreditRisk" roleURI="http://espey.com/role/ConcentrationofCreditRisk"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_RelatedParties" roleURI="http://espey.com/role/RelatedParties"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_CommitmentsandContingencies" roleURI="http://espey.com/role/CommitmentsandContingencies"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_StockholdersEquity" roleURI="http://espey.com/role/StockholdersEquity"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_LineofCredit" roleURI="http://espey.com/role/LineofCredit"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_QuarterlyFinancialInformationUnaudited" roleURI="http://espey.com/role/QuarterlyFinancialInformationUnaudited"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_AccountingPoliciesByPolicy" roleURI="http://espey.com/role/AccountingPoliciesByPolicy"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_SummaryofSignificantAccountingPoliciesTables" roleURI="http://espey.com/role/SummaryofSignificantAccountingPoliciesTables"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_InvestmentSecuritiesTables" roleURI="http://espey.com/role/InvestmentSecuritiesTables"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ContractsinProcessTables" roleURI="http://espey.com/role/ContractsinProcessTables"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_PropertyPlantandEquipmentTables" roleURI="http://espey.com/role/PropertyPlantandEquipmentTables"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ProvisionforIncomeTaxesTables" roleURI="http://espey.com/role/ProvisionforIncomeTaxesTables"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_EmployeeStockOwnershipPlanTables" roleURI="http://espey.com/role/EmployeeStockOwnershipPlanTables"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_StockbasedCompensationTables" roleURI="http://espey.com/role/StockbasedCompensationTables"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_StockholdersEquityTables" roleURI="http://espey.com/role/StockholdersEquityTables"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_QuarterlyFinancialInformationUnauditedTables" roleURI="http://espey.com/role/QuarterlyFinancialInformationUnauditedTables"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofEstimatedUsefulLivesofDepreciableAssetsTable" roleURI="http://espey.com/role/ScheduleofEstimatedUsefulLivesofDepreciableAssetsTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofClassifiesInvestmentSecuritiesasAvailableforSaleTable" roleURI="http://espey.com/role/ScheduleofClassifiesInvestmentSecuritiesasAvailableforSaleTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofContractualMaturitiesofAvailableforSaleDebtSecuritiesTable" roleURI="http://espey.com/role/ScheduleofContractualMaturitiesofAvailableforSaleDebtSecuritiesTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofContractsinProcessTable" roleURI="http://espey.com/role/ScheduleofContractsinProcessTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofPropertyPlantandEquipmentTable" roleURI="http://espey.com/role/ScheduleofPropertyPlantandEquipmentTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofComponentsoftheProvisionforIncomeTaxesTable" roleURI="http://espey.com/role/ScheduleofComponentsoftheProvisionforIncomeTaxesTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofEffectiveIncomeTaxRatesTable" roleURI="http://espey.com/role/ScheduleofEffectiveIncomeTaxRatesTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofDeferredTaxAssetsandLiabilitiesTable" roleURI="http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofESOPSharesTable" roleURI="http://espey.com/role/ScheduleofESOPSharesTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofWeightedAverageAssumptionsofOptionAwardTable" roleURI="http://espey.com/role/ScheduleofWeightedAverageAssumptionsofOptionAwardTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofStockOptionActivityTable" roleURI="http://espey.com/role/ScheduleofStockOptionActivityTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofChangesinNonVestedStockOptionsTable" roleURI="http://espey.com/role/ScheduleofChangesinNonVestedStockOptionsTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofReservedCommonSharesforFutureIssuanceTable" roleURI="http://espey.com/role/ScheduleofReservedCommonSharesforFutureIssuanceTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofReconciliationoftheNumeratorsandDenominatorsoftheBasicandDilutedEarningsPerShareComputationsTable" roleURI="http://espey.com/role/ScheduleofReconciliationoftheNumeratorsandDenominatorsoftheBasicandDilutedEarningsPerShareComputationsTable"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_SummaryofSignificantAccountingPoliciesDetails" roleURI="http://espey.com/role/SummaryofSignificantAccountingPoliciesDetails"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_RevenueDetails" roleURI="http://espey.com/role/RevenueDetails"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_PropertyPlantandEquipmentDetails" roleURI="http://espey.com/role/PropertyPlantandEquipmentDetails"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_PensionExpenseDetails" roleURI="http://espey.com/role/PensionExpenseDetails"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ProvisionforIncomeTaxesDetails" roleURI="http://espey.com/role/ProvisionforIncomeTaxesDetails"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_SignificantCustomersDetails" roleURI="http://espey.com/role/SignificantCustomersDetails"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_EmployeeStockOwnershipPlanDetails" roleURI="http://espey.com/role/EmployeeStockOwnershipPlanDetails"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_StockbasedCompensationDetails" roleURI="http://espey.com/role/StockbasedCompensationDetails"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ConcentrationofCreditRiskDetails" roleURI="http://espey.com/role/ConcentrationofCreditRiskDetails"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_CommitmentsandContingenciesDetails" roleURI="http://espey.com/role/CommitmentsandContingenciesDetails"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_StockholdersEquityDetails" roleURI="http://espey.com/role/StockholdersEquityDetails"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_LineofCreditDetails" roleURI="http://espey.com/role/LineofCreditDetails"/>
  <roleRef xlink:type="simple" xlink:href="esp-20240630.xsd#esp_r_ScheduleofQuarterlyFinancialInformationDetailsScheduleofQuarterlyFinancialInformation" roleURI="http://espey.com/role/ScheduleofQuarterlyFinancialInformationDetailsScheduleofQuarterlyFinancialInformation"/>
  <roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#cover" roleURI="http://xbrl.sec.gov/dei/role/document/Cover"/>
  <roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#ai" roleURI="http://xbrl.sec.gov/dei/role/document/AuditInformation"/>
  <presentationLink xlink:role="http://espey.com/role/ConsolidatedBalanceSheet" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AssetsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_AssetsAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AccountsReceivableNetCurrent" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxesReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesReceivable"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_IncomeTaxesReceivable" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="InventoriesAbstract" xlink:href="esp-20240630.xsd#esp_InventoriesAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="InventoriesAbstract" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryRawMaterials" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterials"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoriesAbstract" xlink:to="us-gaap_InventoryRawMaterials" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryWorkInProcess" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcess"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoriesAbstract" xlink:to="us-gaap_InventoryWorkInProcess" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryForLongTermContractsOrPrograms" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryForLongTermContractsOrPrograms"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoriesAbstract" xlink:to="us-gaap_InventoryForLongTermContractsOrPrograms" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryForLongTermContractsOrPrograms" xlink:to="us-gaap_InventoryNet" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="DeferredTaxAssetsCurrent" xlink:href="esp-20240630.xsd#esp_DeferredTaxAssetsCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="DeferredTaxAssetsCurrent" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_AssetsCurrent" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Assets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_Assets" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_AccountsPayableCurrent" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="AccruedExpensesAbstract" xlink:href="esp-20240630.xsd#esp_AccruedExpensesAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="AccruedExpensesAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccruedSalariesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedSalariesCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccruedExpensesAbstract" xlink:to="us-gaap_AccruedSalariesCurrent" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccruedVacationCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedVacationCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccruedExpensesAbstract" xlink:to="us-gaap_AccruedVacationCurrent" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherEmployeeRelatedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherEmployeeRelatedLiabilitiesCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccruedExpensesAbstract" xlink:to="us-gaap_OtherEmployeeRelatedLiabilitiesCurrent" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccruedPayrollTaxesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedPayrollTaxesCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_AccruedPayrollTaxesCurrent" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TaxesPayableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxesPayableCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_TaxesPayableCurrent" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxesPayableCurrent" xlink:to="us-gaap_LiabilitiesCurrent" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="DeferredTaxLiability" xlink:href="esp-20240630.xsd#esp_DeferredTaxLiability"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="DeferredTaxLiability" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Liabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxLiability" xlink:to="us-gaap_Liabilities" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommitmentsAndContingencies" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_CommitmentsAndContingencies" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_CommonStockValue" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="TotalStockholdersEquityBeforyEsopAndTreasuryStock" xlink:href="esp-20240630.xsd#esp_TotalStockholdersEquityBeforyEsopAndTreasuryStock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="TotalStockholdersEquityBeforyEsopAndTreasuryStock" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="UnearnedEsopSharesCost" xlink:href="esp-20240630.xsd#esp_UnearnedEsopSharesCost"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="UnearnedEsopSharesCost" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockValue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="UnearnedEsopSharesCost" xlink:to="us-gaap_TreasuryStockValue" order="0.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TreasuryStockValue" xlink:to="us-gaap_StockholdersEquity" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TreasuryStockValue" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/ConsolidatedBalanceSheet_Parentheticals" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_CommonStockSharesAuthorized" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_CommonStockSharesIssued" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_CommonStockSharesOutstanding" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesHeldInEmployeeTrustShares" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesHeldInEmployeeTrustShares"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_CommonStockSharesHeldInEmployeeTrustShares" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockCommonShares" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonShares"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_TreasuryStockCommonShares" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/ConsolidatedIncomeStatement" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeStatementAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Revenues" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_Revenues" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CostOfRevenue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfRevenue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_CostOfRevenue" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GrossProfit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostOfRevenue" xlink:to="us-gaap_GrossProfit" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="us-gaap_OperatingIncomeLoss" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherIncomeAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherIncomeAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_OtherIncomeAbstract" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InvestmentIncomeInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentIncomeInterest"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherIncomeAbstract" xlink:to="us-gaap_InvestmentIncomeInterest" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherNonoperatingIncome" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncome"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherIncomeAbstract" xlink:to="us-gaap_OtherNonoperatingIncome" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherNonoperatingIncome" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefit" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_NetIncomeLoss" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_EarningsPerShareAbstract" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareBasic" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/ShareholdersEquityType2or3" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_CommonStockMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_AdditionalPaidInCapitalMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RetainedEarningsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_RetainedEarningsMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockCommonMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_TreasuryStockCommonMember" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="UnearnedESOPSharesMember" xlink:href="esp-20240630.xsd#esp_UnearnedESOPSharesMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="UnearnedESOPSharesMember" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EquityComponentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" order="6.0"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesOutstanding" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" order="5.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsCommonStockCash" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsCommonStockCash"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DividendsCommonStockCash" order="8.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquity_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity_0" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesOutstanding_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesOutstanding_0" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/ShareholdersEquityType2or3_Parentheticals" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockDividendsPerShareCashPaid" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockDividendsPerShareCashPaid"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_CommonStockDividendsPerShareCashPaid" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/ConsolidatedCashFlow" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_StatementOfCashFlowsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetIncomeLoss" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ShareBasedCompensation" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Depreciation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Depreciation"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_Depreciation" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPCompensationExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPCompensationExpense" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" order="4.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" order="0.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInIncomeTaxesReceivable"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable" order="1.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInInventories" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" order="3.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccruedSalaries" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedSalaries"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccruedSalaries" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="IncreaseDecreaseInVacationAccrual" xlink:href="esp-20240630.xsd#esp_IncreaseDecreaseInVacationAccrual"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInVacationAccrual" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherAccruedLiabilities"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="IncreasedecreaseInPayrollAndOtherTaxesWithheld" xlink:href="esp-20240630.xsd#esp_IncreasedecreaseInPayrollAndOtherTaxesWithheld"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreasedecreaseInPayrollAndOtherTaxesWithheld" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" order="0.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="ProceedsFromGrantAward" xlink:href="esp-20240630.xsd#esp_ProceedsFromGrantAward"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="ProceedsFromGrantAward" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsToAcquireInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireInvestments"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireInvestments" order="3.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsOfDividendsCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfDividendsCommonStock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsOfDividendsCommonStock" order="0.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProceedsFromRepurchaseOfEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromRepurchaseOfEquity"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromRepurchaseOfEquity" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_0" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SupplementalCashFlowElementsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SupplementalCashFlowElementsAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_SupplementalCashFlowElementsAbstract" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxesPaidNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesPaidNet"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_IncomeTaxesPaidNet" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/NatureofOperations" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NatureOfOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NatureOfOperations"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_NatureOfOperations" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/SummaryofSignificantAccountingPolicies" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SignificantAccountingPoliciesTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/Revenue" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_RevenuesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenuesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenuesAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/InvestmentSecurities" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_InvestmentsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InvestmentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentsAbstract" xlink:to="us-gaap_InvestmentTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/ContractsinProcess" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_ContractorsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractorsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LongTermContractsOrProgramsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermContractsOrProgramsDisclosureTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractorsAbstract" xlink:to="us-gaap_LongTermContractsOrProgramsDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/PropertyPlantandEquipment" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/PensionExpense" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/ProvisionforIncomeTaxes" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/SignificantCustomers" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRisksTypesNoConcentrationPercentageAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRisksTypesNoConcentrationPercentageAbstract"/>
    <loc xlink:type="locator" xlink:label="SignificantCustomersTextBlock" xlink:href="esp-20240630.xsd#esp_SignificantCustomersTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRisksTypesNoConcentrationPercentageAbstract" xlink:to="SignificantCustomersTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/EmployeeStockOwnershipPlan" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_SharesHeldInEmployeeStockOwnershipPlanAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesHeldInEmployeeStockOwnershipPlanAbstract"/>
    <loc xlink:type="locator" xlink:label="EmployeeStockOwnershipPlanTextBlock" xlink:href="esp-20240630.xsd#esp_EmployeeStockOwnershipPlanTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SharesHeldInEmployeeStockOwnershipPlanAbstract" xlink:to="EmployeeStockOwnershipPlanTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/StockbasedCompensation" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/ConcentrationofCreditRisk" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_RisksAndUncertaintiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RisksAndUncertaintiesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskDisclosureTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RisksAndUncertaintiesAbstract" xlink:to="us-gaap_ConcentrationRiskDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/RelatedParties" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionsAbstract" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/CommitmentsandContingencies" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/StockholdersEquity" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquityNoteAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityNoteAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityNoteAbstract" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/LineofCredit" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAbstract"/>
    <loc xlink:type="locator" xlink:label="LineOfCreditTextBlock" xlink:href="esp-20240630.xsd#esp_LineOfCreditTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAbstract" xlink:to="LineOfCreditTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/QuarterlyFinancialInformationUnaudited" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_QuarterlyFinancialInformationTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_QuarterlyFinancialInformationTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/AccountingPoliciesByPolicy" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_InventoryPolicyTextBlock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="ContractLiabilitiesPolicyTextBlock" xlink:href="esp-20240630.xsd#esp_ContractLiabilitiesPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="ContractLiabilitiesPolicyTextBlock" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DepreciationDepletionAndAmortizationPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationDepletionAndAmortizationPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_DepreciationDepletionAndAmortizationPolicyTextBlock" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_IncomeTaxPolicyTextBlock" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InvestmentPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_InvestmentPolicyTextBlock" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_TradeAndOtherAccountsReceivablePolicy" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerSharePolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomePolicyPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_UseOfEstimates" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UseOfEstimates"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_UseOfEstimates" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="RecentlyAdoptedAccountingStandardsPolicyTextBlock" xlink:href="esp-20240630.xsd#esp_RecentlyAdoptedAccountingStandardsPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="RecentlyAdoptedAccountingStandardsPolicyTextBlock" order="12.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" order="13.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" order="14.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskCreditRisk" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskCreditRisk"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ConcentrationRiskCreditRisk" order="15.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/SummaryofSignificantAccountingPoliciesTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <loc xlink:type="locator" xlink:label="ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock" xlink:href="esp-20240630.xsd#esp_ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/InvestmentSecuritiesTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_InvestmentsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentsAbstract" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentsAbstract" xlink:to="us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/ContractsinProcessTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_ContractorsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractorsAbstract"/>
    <loc xlink:type="locator" xlink:label="ScheduleOfContractsInProcessTableTextBlock" xlink:href="esp-20240630.xsd#esp_ScheduleOfContractsInProcessTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractorsAbstract" xlink:to="ScheduleOfContractsInProcessTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/PropertyPlantandEquipmentTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/ProvisionforIncomeTaxesTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/EmployeeStockOwnershipPlanTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_SharesHeldInEmployeeStockOwnershipPlanAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesHeldInEmployeeStockOwnershipPlanAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfEmployeeStockOwnershipPlanESOPDisclosuresTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEmployeeStockOwnershipPlanESOPDisclosuresTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SharesHeldInEmployeeStockOwnershipPlanAbstract" xlink:to="us-gaap_ScheduleOfEmployeeStockOwnershipPlanESOPDisclosuresTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/StockbasedCompensationTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/StockholdersEquityTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquityNoteAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityNoteAbstract"/>
    <loc xlink:type="locator" xlink:label="ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock" xlink:href="esp-20240630.xsd#esp_ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityNoteAbstract" xlink:to="ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityNoteAbstract" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/QuarterlyFinancialInformationUnauditedTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/ScheduleofEstimatedUsefulLivesofDepreciableAssetsTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsAbstract" xlink:href="esp-20240630.xsd#esp_ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsAbstract"/>
    <loc xlink:type="locator" xlink:label="SummaryofSignificantAccountingPoliciesDetailsScheduleofEstimatedUsefulLivesofDepreciableAssetsTable" xlink:href="esp-20240630.xsd#esp_SummaryofSignificantAccountingPoliciesDetailsScheduleofEstimatedUsefulLivesofDepreciableAssetsTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsAbstract" xlink:to="SummaryofSignificantAccountingPoliciesDetailsScheduleofEstimatedUsefulLivesofDepreciableAssetsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="srt_RangeAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SummaryofSignificantAccountingPoliciesDetailsScheduleofEstimatedUsefulLivesofDepreciableAssetsTable" xlink:to="srt_RangeAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="srt_MinimumMember" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="srt_MaximumMember" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SummaryofSignificantAccountingPoliciesDetailsScheduleofEstimatedUsefulLivesofDepreciableAssetsTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_BuildingImprovementsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingImprovementsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_BuildingImprovementsMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_MachineryAndEquipmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_MachineryAndEquipmentMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FurnitureAndFixturesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FurnitureAndFixturesMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_FurnitureAndFixturesMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SummaryofSignificantAccountingPoliciesDetailsScheduleofEstimatedUsefulLivesofDepreciableAssetsTable" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/ScheduleofClassifiesInvestmentSecuritiesasAvailableforSaleTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="ScheduleOfClassifiesInvestmentSecuritiesAsAvailableForSaleAbstract" xlink:href="esp-20240630.xsd#esp_ScheduleOfClassifiesInvestmentSecuritiesAsAvailableForSaleAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtSecuritiesAvailableForSaleTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfInvestmentsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfInvestmentsLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfClassifiesInvestmentSecuritiesAsAvailableForSaleAbstract" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FinancialInstrumentAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinancialInstrumentAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtSecuritiesAvailableForSaleTable" xlink:to="us-gaap_FinancialInstrumentAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CertificatesOfDepositMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CertificatesOfDepositMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_CertificatesOfDepositMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_MunicipalBondsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MunicipalBondsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_MunicipalBondsMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_USTreasuryBillSecuritiesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_USTreasuryBillSecuritiesMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_USTreasuryBillSecuritiesMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtSecuritiesAvailableForSaleTable" xlink:to="us-gaap_ScheduleOfInvestmentsLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TradingSecuritiesDebtAmortizedCost" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TradingSecuritiesDebtAmortizedCost"/>
<!-- [WMV6][XcpuxYn59dz7vgYynUDuwG7r97K2jUTysl7vcz0lJt/tSeJz73kx1cLt0ZFF2SK/vxBCY0vdSrYnt/FcukLonGvrL5wMA+ofwaqo4qMNOuQCZ4f5MsVOmOOAhEIki8WPj8IecsZEAIH93EFFuU1YNbJ9bq3A8pyccr+4dZb24Xm8ri5fUWvN9D2QbwLnSGEeGM9LkmeBq6kmBc6qbz0KTLZS42R+z5T+TvRKf196x1U02PcpSpWyFI0XkFnk2J6etumKnTtqhgnHWd8y9A65nb4JJN+PiV09Lp6c5W1Ly5m9v2l1EL6G94olFSBfy2KE9uN+5h6DRyGDRpBDjQx26Q==] CSR-->
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems" xlink:to="us-gaap_TradingSecuritiesDebtAmortizedCost" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfInvestmentsLineItems" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/ScheduleofContractualMaturitiesofAvailableforSaleDebtSecuritiesTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/ScheduleofContractsinProcessTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryNetAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNetAbstract"/>
    <loc xlink:type="locator" xlink:label="UnrecognizedGrossContractValue" xlink:href="esp-20240630.xsd#esp_UnrecognizedGrossContractValue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryNetAbstract" xlink:to="UnrecognizedGrossContractValue" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryForLongTermContractsOrPrograms" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryForLongTermContractsOrPrograms"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryNetAbstract" xlink:to="us-gaap_InventoryForLongTermContractsOrPrograms" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/ScheduleofPropertyPlantandEquipmentTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="ScheduleOfPropertyPlantAndEquipmentAbstract" xlink:href="esp-20240630.xsd#esp_ScheduleOfPropertyPlantAndEquipmentAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfPropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LandMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LandMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_LandMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LandBuildingsAndImprovementsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LandBuildingsAndImprovementsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_LandBuildingsAndImprovementsMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_MachineryAndEquipmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_MachineryAndEquipmentMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FurnitureAndFixturesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FurnitureAndFixturesMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_FurnitureAndFixturesMember" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="1.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/ScheduleofComponentsoftheProvisionforIncomeTaxesTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentFederalTaxExpenseBenefit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/ScheduleofEffectiveIncomeTaxRatesTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="IncreaseReductionInRateResultingFromAbstract" xlink:href="esp-20240630.xsd#esp_IncreaseReductionInRateResultingFromAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsAbstract" xlink:to="IncreaseReductionInRateResultingFromAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseReductionInRateResultingFromAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="EffectiveIncomeTaxRateReconciliationESOPFairValue" xlink:href="esp-20240630.xsd#esp_EffectiveIncomeTaxRateReconciliationESOPFairValue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseReductionInRateResultingFromAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationESOPFairValue" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares" xlink:href="esp-20240630.xsd#esp_EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseReductionInRateResultingFromAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseReductionInRateResultingFromAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseReductionInRateResultingFromAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsNetAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredIncomeTaxesAbstract" xlink:to="us-gaap_DeferredTaxAssetsNetAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther" xlink:to="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="DeferredTaxAssetsPensionWithdrawal" xlink:href="esp-20240630.xsd#esp_DeferredTaxAssetsPensionWithdrawal"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther" xlink:to="DeferredTaxAssetsPensionWithdrawal" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsGross"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:to="us-gaap_DeferredTaxAssetsGross" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesNetAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredIncomeTaxesAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesNetAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesPrepaidExpenses"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:to="us-gaap_DeferredIncomeTaxLiabilities" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="DeferredTaxAssetLiability" xlink:href="esp-20240630.xsd#esp_DeferredTaxAssetLiability"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredIncomeTaxesAbstract" xlink:to="DeferredTaxAssetLiability" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/ScheduleofESOPSharesTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOPAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOPAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOPAbstract" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPNumberOfSuspenseShares" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPNumberOfSuspenseShares"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOPAbstract" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPNumberOfSuspenseShares" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOP" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOP"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOPAbstract" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOP" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPDeferredSharesFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPDeferredSharesFairValue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOPAbstract" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPDeferredSharesFairValue" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/ScheduleofWeightedAverageAssumptionsofOptionAwardTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_FairValueInputsQuantitativeInformationAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueInputsQuantitativeInformationAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueInputsQuantitativeInformationAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueInputsQuantitativeInformationAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueInputsQuantitativeInformationAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueInputsQuantitativeInformationAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueInputsQuantitativeInformationAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/ScheduleofStockOptionActivityTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAggregateDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationAggregateDisclosuresAbstract"/>
    <loc xlink:type="locator" xlink:label="StockbasedCompensationDetailsScheduleofStockOptionActivityTable" xlink:href="esp-20240630.xsd#esp_StockbasedCompensationDetailsScheduleofStockOptionActivityTable"/>
    <loc xlink:type="locator" xlink:label="StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:href="esp-20240630.xsd#esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationAggregateDisclosuresAbstract" xlink:to="StockbasedCompensationDetailsScheduleofStockOptionActivityTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AwardTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockbasedCompensationDetailsScheduleofStockOptionActivityTable" xlink:to="us-gaap_AwardTypeAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockOptionMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockOptionMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_StockOptionMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockbasedCompensationDetailsScheduleofStockOptionActivityTable" xlink:to="StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <loc xlink:type="locator" xlink:label="SharebasedCompensationArrangementsBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:href="esp-20240630.xsd#esp_SharebasedCompensationArrangementsBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="SharebasedCompensationArrangementsBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTerm2" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTerm2"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTerm2" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" order="12.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" order="13.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="WeightedAverageRemainingContrSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTermactualTermGranted" xlink:href="esp-20240630.xsd#esp_WeightedAverageRemainingContrSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTermactualTermGranted"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="WeightedAverageRemainingContrSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTermactualTermGranted" order="14.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" order="15.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" order="16.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" order="17.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" order="18.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/ScheduleofChangesinNonVestedStockOptionsTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" order="4.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" order="6.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_0" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_0" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/ScheduleofReservedCommonSharesforFutureIssuanceTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="ScheduleOfReservedCommonSharesForFutureIssuanceAbstract" xlink:href="esp-20240630.xsd#esp_ScheduleOfReservedCommonSharesForFutureIssuanceAbstract"/>
    <loc xlink:type="locator" xlink:label="StockholdersEquityDetailsScheduleofReservedCommonSharesforFutureIssuanceTable" xlink:href="esp-20240630.xsd#esp_StockholdersEquityDetailsScheduleofReservedCommonSharesforFutureIssuanceTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TemporaryEquityLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TemporaryEquityLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfReservedCommonSharesForFutureIssuanceAbstract" xlink:to="StockholdersEquityDetailsScheduleofReservedCommonSharesforFutureIssuanceTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityDetailsScheduleofReservedCommonSharesforFutureIssuanceTable" xlink:to="us-gaap_StatementEquityComponentsAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_CommonStockMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityDetailsScheduleofReservedCommonSharesforFutureIssuanceTable" xlink:to="us-gaap_TemporaryEquityLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TemporaryEquityLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TemporaryEquityLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TemporaryEquityLineItems" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/ScheduleofReconciliationoftheNumeratorsandDenominatorsoftheBasicandDilutedEarningsPerShareComputationsTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_NetIncomeLoss" order="0.0" preferredLabel="http://www.xbrl.org/2009/role/netLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockOtherSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockOtherSharesOutstanding"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:to="us-gaap_CommonStockOtherSharesOutstanding" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased" order="1.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesIssuedBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesIssuedBasic"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesIssuedBasic" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesContingentlyIssuable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesContingentlyIssuable"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesContingentlyIssuable" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockOtherSharesOutstanding_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockOtherSharesOutstanding"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_CommonStockOtherSharesOutstanding_0" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased_0" order="1.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesCommonStockSubjectToRepurchaseOrCancellation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesCommonStockSubjectToRepurchaseOrCancellation"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesCommonStockSubjectToRepurchaseOrCancellation" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesContingentlyIssuable_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesContingentlyIssuable"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesContingentlyIssuable_0" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/SummaryofSignificantAccountingPoliciesDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <loc xlink:type="locator" xlink:label="ContractExtendTerm" xlink:href="esp-20240630.xsd#esp_ContractExtendTerm"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="ContractExtendTerm" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountsReceivableNetCurrent" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ImpairmentOfLongLivedAssetsToBeDisposedOf" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOfLongLivedAssetsToBeDisposedOf"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ImpairmentOfLongLivedAssetsToBeDisposedOf" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/RevenueDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_RevenuesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenuesAbstract"/>
    <loc xlink:type="locator" xlink:label="RevenueDetailsTable" xlink:href="esp-20240630.xsd#esp_RevenueDetailsTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DisaggregationOfRevenueLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenuesAbstract" xlink:to="RevenueDetailsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="srt_StatementScenarioAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementScenarioAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueDetailsTable" xlink:to="srt_StatementScenarioAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="srt_ScenarioUnspecifiedDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioUnspecifiedDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="UnitsDeliveredMember" xlink:href="esp-20240630.xsd#esp_UnitsDeliveredMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementScenarioAxis" xlink:to="UnitsDeliveredMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="MilestonesAchievedMember" xlink:href="esp-20240630.xsd#esp_MilestonesAchievedMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementScenarioAxis" xlink:to="MilestonesAchievedMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueDetailsTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TypeOfAdoptionMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfAdoptionMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember" order="0.0"/>
    <loc xlink:type="locator" xlink:label="ASC606Member" xlink:href="esp-20240630.xsd#esp_ASC606Member"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="ASC606Member" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueDetailsTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OrderOrProductionBacklogMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OrderOrProductionBacklogMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_OrderOrProductionBacklogMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueDetailsTable" xlink:to="us-gaap_DisaggregationOfRevenueLineItems" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Revenues" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_Revenues" order="0.0" preferredLabel="http://www.xbrl.org/2009/role/netLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ContractWithCustomerLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiability"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_ContractWithCustomerLiability" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="BacklogPercentageOfRecognitionsYearOne" xlink:href="esp-20240630.xsd#esp_BacklogPercentageOfRecognitionsYearOne"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="BacklogPercentageOfRecognitionsYearOne" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="BacklogPercentageOfRecognitionsYearTwo" xlink:href="esp-20240630.xsd#esp_BacklogPercentageOfRecognitionsYearTwo"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="BacklogPercentageOfRecognitionsYearTwo" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="BacklogPercentageOfRecognitionsYearThree" xlink:href="esp-20240630.xsd#esp_BacklogPercentageOfRecognitionsYearThree"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="BacklogPercentageOfRecognitionsYearThree" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="BacklogPercentageOfRecognitions" xlink:href="esp-20240630.xsd#esp_BacklogPercentageOfRecognitions"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="BacklogPercentageOfRecognitions" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/PropertyPlantandEquipmentDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <loc xlink:type="locator" xlink:label="PropertyPlantandEquipmentDetailsTable" xlink:href="esp-20240630.xsd#esp_PropertyPlantandEquipmentDetailsTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="PropertyPlantandEquipmentDetailsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FairValueByAssetClassAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueByAssetClassAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantandEquipmentDetailsTable" xlink:to="us-gaap_FairValueByAssetClassAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByAssetClassAxis" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByAssetClassAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantandEquipmentDetailsTable" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Depreciation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Depreciation"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_Depreciation" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EquipmentExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquipmentExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_EquipmentExpense" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsOther" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsOther"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_DeferredTaxAssetsOther" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="TotalMilestoneReimbursementsReceivedAmount" xlink:href="esp-20240630.xsd#esp_TotalMilestoneReimbursementsReceivedAmount"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="TotalMilestoneReimbursementsReceivedAmount" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentOtherNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentOtherNet"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentOtherNet" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableCurrentAndNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrentAndNoncurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_AccountsPayableCurrentAndNoncurrent" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/PensionExpenseDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="PensionExpenseDetailsTable" xlink:href="esp-20240630.xsd#esp_PensionExpenseDetailsTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="PensionExpenseDetailsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PensionExpenseDetailsTable" xlink:to="us-gaap_SubsequentEventTypeAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PensionExpenseDetailsTable" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionAndOtherPostretirementBenefitExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitExpense" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_MultiemployerPlansWithdrawalObligation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MultiemployerPlansWithdrawalObligation"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:to="us-gaap_MultiemployerPlansWithdrawalObligation" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PensionContributions" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionContributions"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:to="us-gaap_PensionContributions" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLiabilities"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:to="us-gaap_OtherLiabilities" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_MultiemployerPlanPensionSignificantPlanContribution" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MultiemployerPlanPensionSignificantPlanContribution"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:to="us-gaap_MultiemployerPlanPensionSignificantPlanContribution" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="DefinedContributionPlanEmployersMatchingContribution" xlink:href="esp-20240630.xsd#esp_DefinedContributionPlanEmployersMatchingContribution"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:to="DefinedContributionPlanEmployersMatchingContribution" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/ProvisionforIncomeTaxesDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="ProvisionforIncomeTaxesDetailsTable" xlink:href="esp-20240630.xsd#esp_ProvisionforIncomeTaxesDetailsTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxContingencyLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxContingencyLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="ProvisionforIncomeTaxesDetailsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashAndCashEquivalentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProvisionforIncomeTaxesDetailsTable" xlink:to="us-gaap_CashAndCashEquivalentsAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsAxis" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" order="0.0"/>
    <loc xlink:type="locator" xlink:label="USFederalAndStateMember" xlink:href="esp-20240630.xsd#esp_USFederalAndStateMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsAxis" xlink:to="USFederalAndStateMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProvisionforIncomeTaxesDetailsTable" xlink:to="us-gaap_IncomeTaxContingencyLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/SignificantCustomersDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRisksTypesNoConcentrationPercentageAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRisksTypesNoConcentrationPercentageAbstract"/>
    <loc xlink:type="locator" xlink:label="SignificantCustomersDetailsTable" xlink:href="esp-20240630.xsd#esp_SignificantCustomersDetailsTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRisksTypesNoConcentrationPercentageAbstract" xlink:to="SignificantCustomersDetailsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SignificantCustomersDetailsTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_CustomerConcentrationRiskMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="srt_MajorCustomersAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SignificantCustomersDetailsTable" xlink:to="srt_MajorCustomersAxis" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="srt_NameOfMajorCustomerDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="FiveCustomersMember" xlink:href="esp-20240630.xsd#esp_FiveCustomersMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="FiveCustomersMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SignificantCustomersDetailsTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SalesRevenueNetMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_SalesRevenueNetMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_AccountsReceivableMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SignificantCustomersDetailsTable" xlink:to="us-gaap_ConcentrationRiskLineItems" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskPercentage1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SalesTypeLeaseRevenue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesTypeLeaseRevenue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_SalesTypeLeaseRevenue" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/EmployeeStockOwnershipPlanDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_SharesHeldInEmployeeStockOwnershipPlanAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesHeldInEmployeeStockOwnershipPlanAbstract"/>
    <loc xlink:type="locator" xlink:label="EmployeeStockOwnershipPlanDetailsTable" xlink:href="esp-20240630.xsd#esp_EmployeeStockOwnershipPlanDetailsTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SharesHeldInEmployeeStockOwnershipPlanAbstract" xlink:to="EmployeeStockOwnershipPlanDetailsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EmployeeStockOwnershipPlanDetailsTable" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="EmployeeStockOwnershipPlanMember" xlink:href="esp-20240630.xsd#esp_EmployeeStockOwnershipPlanMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis" xlink:to="EmployeeStockOwnershipPlanMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EmployeeStockOwnershipPlanDetailsTable" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="EmployeeStockOwnershipPlanHoursWorked" xlink:href="esp-20240630.xsd#esp_EmployeeStockOwnershipPlanHoursWorked"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresLineItems" xlink:to="EmployeeStockOwnershipPlanHoursWorked" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOwnershipPlanESOPCompensationExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresLineItems" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPCompensationExpense" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockIssuedDuringPeriodSharesEmployeeBenefitPlan" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeBenefitPlan"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesEmployeeBenefitPlan" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/StockbasedCompensationDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <loc xlink:type="locator" xlink:label="StockbasedCompensationDetailsTable" xlink:href="esp-20240630.xsd#esp_StockbasedCompensationDetailsTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="StockbasedCompensationDetailsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PlanNameAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockbasedCompensationDetailsTable" xlink:to="us-gaap_PlanNameAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="TwoThousandSeventeenPlanMember" xlink:href="esp-20240630.xsd#esp_TwoThousandSeventeenPlanMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="TwoThousandSeventeenPlanMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="TwoThousandSevenPlanMember" xlink:href="esp-20240630.xsd#esp_TwoThousandSevenPlanMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="TwoThousandSevenPlanMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="srt_TitleOfIndividualAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockbasedCompensationDetailsTable" xlink:to="srt_TitleOfIndividualAxis" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="NonEmployeeDirectorsMember" xlink:href="esp-20240630.xsd#esp_NonEmployeeDirectorsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="NonEmployeeDirectorsMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="IndividualEmployeeMember" xlink:href="esp-20240630.xsd#esp_IndividualEmployeeMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="IndividualEmployeeMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="srt_RangeAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockbasedCompensationDetailsTable" xlink:to="srt_RangeAxis" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="srt_RangeMember" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0.0"/>
    <loc xlink:type="locator" xlink:label="srt_MaximumMember" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AwardTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockbasedCompensationDetailsTable" xlink:to="us-gaap_AwardTypeAxis" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="NonQualifiedStockOptionsMember" xlink:href="esp-20240630.xsd#esp_NonQualifiedStockOptionsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="NonQualifiedStockOptionsMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="IncentiveStockOptionMember" xlink:href="esp-20240630.xsd#esp_IncentiveStockOptionMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="IncentiveStockOptionMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_EmployeeStockOptionMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_EmployeeStockMember" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="RestrictedStockPlanMember" xlink:href="esp-20240630.xsd#esp_RestrictedStockPlanMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="RestrictedStockPlanMember" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockbasedCompensationDetailsTable" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredOtherTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredOtherTaxExpenseBenefit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="us-gaap_DeferredOtherTaxExpenseBenefit" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="PercentageOfTotalNumberOfSharesSubjectToOptionsOrAwardsSingleFiscalYear" xlink:href="esp-20240630.xsd#esp_PercentageOfTotalNumberOfSharesSubjectToOptionsOrAwardsSingleFiscalYear"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="PercentageOfTotalNumberOfSharesSubjectToOptionsOrAwardsSingleFiscalYear" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercised" xlink:href="esp-20240630.xsd#esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercised"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercised" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestCancelled" xlink:href="esp-20240630.xsd#esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestCancelled"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestCancelled" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionOutstandingNumber" xlink:href="esp-20240630.xsd#esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionOutstandingNumber"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionOutstandingNumber" order="12.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharePrice"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="us-gaap_SharePrice" order="13.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" order="14.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/ConcentrationofCreditRiskDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_RisksAndUncertaintiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RisksAndUncertaintiesAbstract"/>
    <loc xlink:type="locator" xlink:label="ConcentrationofCreditRiskDetailsTable" xlink:href="esp-20240630.xsd#esp_ConcentrationofCreditRiskDetailsTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RisksAndUncertaintiesAbstract" xlink:to="ConcentrationofCreditRiskDetailsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationofCreditRiskDetailsTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_CustomerConcentrationRiskMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="srt_MajorCustomersAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationofCreditRiskDetailsTable" xlink:to="srt_MajorCustomersAxis" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="FiveCustomersMember" xlink:href="esp-20240630.xsd#esp_FiveCustomersMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="FiveCustomersMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationofCreditRiskDetailsTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_AccountsReceivableMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationofCreditRiskDetailsTable" xlink:to="us-gaap_ConcentrationRiskLineItems" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskPercentage1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/CommitmentsandContingenciesDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LettersOfCreditOutstandingAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LettersOfCreditOutstandingAmount"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_LettersOfCreditOutstandingAmount" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/StockholdersEquityDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquityNoteAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityNoteAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityNoteAbstract" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockDividendsPerShareCashPaid" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockDividendsPerShareCashPaid"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityNoteAbstract" xlink:to="us-gaap_CommonStockDividendsPerShareCashPaid" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/LineofCreditDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAbstract" xlink:to="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="FloatingRatePercentage" xlink:href="esp-20240630.xsd#esp_FloatingRatePercentage"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAbstract" xlink:to="FloatingRatePercentage" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://espey.com/role/ScheduleofQuarterlyFinancialInformationDetailsScheduleofQuarterlyFinancialInformation" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Revenues" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_Revenues" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GrossProfit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_GrossProfit" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_NetIncomeLoss" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_EarningsPerShareBasic" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://xbrl.sec.gov/dei/role/document/Cover" xlink:type="extended"/>
  <presentationLink xlink:role="http://xbrl.sec.gov/dei/role/document/AuditInformation" xlink:type="extended"/>
</linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm46621633961568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover - USD ($)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Sep. 24, 2024</div></th>
<th class="th"><div>Dec. 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_dei_DocumentInformationLineItems', window );"><strong>Document Information [Line Items]</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_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-K<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_dei_DocumentAnnualReport', window );">Document Annual Report</a></td>
<td class="text">true<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_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<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_dei_DocumentFinStmtErrorCorrectionFlag', window );">Document Financial Statement Error Correction [Flag]</a></td>
<td class="text">false<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_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<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_dei_IcfrAuditorAttestationFlag', window );">ICFR Auditor Attestation Flag</a></td>
<td class="text">false<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_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<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_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Jun. 30,  2024<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_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2024<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_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<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_dei_DocumentsIncorporatedByReferenceTextBlock', window );">Documents Incorporated by Reference [Text Block]</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Portions of the registrant's definitive proxy
statement relating to the 2024 Annual Meeting of Shareholders, to be filed with the Securities and Exchange Commission, are incorporated
by reference in Part III, Items 10 through 14 on Form 10-K as indicated herein.</p><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_dei_EntityInformationLineItems', window );"><strong>Entity Information [Line Items]</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_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">ESPEY MFG. & ELECTRONICS CORP.<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_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0000033533<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_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">1-4383<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_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">14-1387171<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_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">NY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--06-30<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_dei_EntityWellKnownSeasonedIssuer', window );">Entity Well-known Seasoned Issuer</a></td>
<td class="text">No<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_dei_EntityVoluntaryFilers', window );">Entity Voluntary Filers</a></td>
<td class="text">No<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_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<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_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<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_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Non-accelerated Filer<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_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">true<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_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<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_dei_EntityPublicFloat', window );">Entity Public Float</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 36,703,889<span></span>
</td>
</tr>
<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_EntityContactPersonnelLineItems', window );"><strong>Entity Contact Personnel [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">233 Ballston Avenue<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_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Saratoga Springs<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_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">NY<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_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">12866<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_dei_EntityPhoneFaxNumbersLineItems', window );"><strong>Entity Phone Fax Numbers [Line Items]</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_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">518<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_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">584-4100<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_dei_EntityListingsLineItems', window );"><strong>Entity Listings [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock $.33-1/3 par value<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_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">ESP<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_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NYSEAMER<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_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,744,458<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentAnnualReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 annual 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-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_DocumentAnnualReport</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_DocumentFinStmtErrorCorrectionFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 whether any of the financial statement period in the filing include a restatement due to error correction.</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-K<br> -Number 229<br> -Section 402<br> -Subsection w<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_DocumentFinStmtErrorCorrectionFlag</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_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_DocumentInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</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_DocumentInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_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_DocumentsIncorporatedByReferenceTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Documents incorporated by reference.</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-23<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_DocumentsIncorporatedByReferenceTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types: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_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_EntityContactPersonnelLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</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_EntityContactPersonnelLineItems</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_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_EntityInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</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_EntityInformationLineItems</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_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_EntityListingsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</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_EntityListingsLineItems</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_EntityPhoneFaxNumbersLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</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_EntityPhoneFaxNumbersLineItems</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_EntityPublicFloat">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.</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_EntityPublicFloat</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: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_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_EntityVoluntaryFilers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.</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_EntityVoluntaryFilers</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_EntityWellKnownSeasonedIssuer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br> -Section 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_EntityWellKnownSeasonedIssuer</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_IcfrAuditorAttestationFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_IcfrAuditorAttestationFlag</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_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>17
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621633879664">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Audit Information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_AuditorTable', window );"><strong>Auditor [Table]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorName', window );">Auditor Name</a></td>
<td class="text">Freed Maxick CPAs, P.C.<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_AuditorFirmId', window );">Auditor Firm ID</a></td>
<td class="text">317<span></span>
</td>
</tr>
<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_AuditorLocation', window );">Auditor Location</a></td>
<td class="text">Buffalo, New York<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorFirmId">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>PCAOB issued Audit Firm Identifier</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-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_AuditorFirmId</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:nonemptySequenceNumberItemType</td>
</tr>
<tr>
<td><strong> Balance 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_AuditorLocation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_AuditorLocation</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:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance 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_AuditorName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_AuditorName</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:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance 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_AuditorTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">dei_AuditorTable</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621637261072">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Balance Sheets - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 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_AssetsAbstract', window );"><strong>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">$ 4,351,970<span></span>
</td>
<td class="nump">$ 2,748,755<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_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Investment securities</a></td>
<td class="nump">18,878,631<span></span>
</td>
<td class="nump">11,964,673<span></span>
</td>
</tr>
<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_AccountsReceivableNetCurrent', window );">Trade accounts receivable, less allowance for credit losses of $3,000</a></td>
<td class="nump">6,635,490<span></span>
</td>
<td class="nump">5,755,282<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_IncomeTaxesReceivable', window );">Income tax receivable</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">35,666<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_esp_InventoriesAbstract', window );"><strong>Inventories:</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_InventoryRawMaterials', window );">Raw materials</a></td>
<td class="nump">1,693,448<span></span>
</td>
<td class="nump">1,889,702<span></span>
</td>
</tr>
<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_InventoryWorkInProcess', window );">Work-in-process</a></td>
<td class="nump">1,645,973<span></span>
</td>
<td class="nump">681,300<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_InventoryForLongTermContractsOrPrograms', window );">Costs related to contracts in process</a></td>
<td class="nump">15,904,588<span></span>
</td>
<td class="nump">17,318,579<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_InventoryNet', window );">Total inventories</a></td>
<td class="nump">19,244,009<span></span>
</td>
<td class="nump">19,889,581<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_esp_DeferredTaxAssetsCurrent', window );">Deferred tax asset</a></td>
<td class="nump">895,154<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<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">3,231,402<span></span>
</td>
<td class="nump">4,282,477<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">53,236,656<span></span>
</td>
<td class="nump">44,676,434<span></span>
</td>
</tr>
<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, plant and equipment, net</a></td>
<td class="nump">3,306,275<span></span>
</td>
<td class="nump">2,825,089<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">56,542,931<span></span>
</td>
<td class="nump">47,501,523<span></span>
</td>
</tr>
<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_LiabilitiesAndStockholdersEquityAbstract', window );"><strong>LIABILITIES AND STOCKHOLDERS' EQUITY</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">3,751,209<span></span>
</td>
<td class="nump">1,212,375<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_esp_AccruedExpensesAbstract', window );"><strong>Accrued expenses:</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_AccruedSalariesCurrent', window );">Salaries and wages</a></td>
<td class="nump">928,163<span></span>
</td>
<td class="nump">890,748<span></span>
</td>
</tr>
<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_AccruedVacationCurrent', window );">Vacation</a></td>
<td class="nump">511,144<span></span>
</td>
<td class="nump">685,188<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_OtherEmployeeRelatedLiabilitiesCurrent', window );">Other</a></td>
<td class="nump">757,552<span></span>
</td>
<td class="nump">547,747<span></span>
</td>
</tr>
<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_AccruedPayrollTaxesCurrent', window );">Payroll and other taxes withheld</a></td>
<td class="nump">56,862<span></span>
</td>
<td class="nump">66,042<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_ContractWithCustomerLiabilityCurrent', window );">Contract liabilities</a></td>
<td class="nump">9,043,422<span></span>
</td>
<td class="nump">8,081,838<span></span>
</td>
</tr>
<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_TaxesPayableCurrent', window );">Income taxes payable</a></td>
<td class="nump">220,607<span></span>
</td>
<td class="text"> <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">15,268,959<span></span>
</td>
<td class="nump">11,483,938<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_esp_DeferredTaxLiability', window );">Deferred tax liabilities</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">137,827<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,268,959<span></span>
</td>
<td class="nump">11,621,765<span></span>
</td>
</tr>
<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_CommitmentsAndContingencies', window );">Commitments and Contingencies (See Note 14)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, par value $.33-1/3 per share Authorized 10,000,000 shares; Issued 3,129,874 shares as of June 30, 2024 and 2023. Outstanding 2,733,958 and 2,702,633 shares as of June 30, 2024 and 2023, respectively (includes 211,487 and 233,645 Unearned ESOP Shares, respectively)</a></td>
<td class="nump">1,043,291<span></span>
</td>
<td class="nump">1,043,291<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Capital in excess of par value</a></td>
<td class="nump">23,930,428<span></span>
</td>
<td class="nump">23,283,245<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 );">Accumulated other comprehensive gain (loss)</a></td>
<td class="nump">6,544<span></span>
</td>
<td class="num">(2,429)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">26,004,790<span></span>
</td>
<td class="nump">21,867,720<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_esp_TotalStockholdersEquityBeforyEsopAndTreasuryStock', window );">Total stockholders equity before ESOP</a></td>
<td class="nump">50,985,053<span></span>
</td>
<td class="nump">46,191,827<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_esp_UnearnedEsopSharesCost', window );">Less: Unearned ESOP shares</a></td>
<td class="num">(3,868,093)<span></span>
</td>
<td class="num">(4,273,378)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockValue', window );">Cost of 395,916 and 427,241 shares of common stock in treasury as of June 30, 2024 and 2023, respectively</a></td>
<td class="num">(5,842,988)<span></span>
</td>
<td class="num">(6,038,691)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders' equity</a></td>
<td class="nump">41,273,972<span></span>
</td>
<td class="nump">35,879,758<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and stockholders' equity</a></td>
<td class="nump">$ 56,542,931<span></span>
</td>
<td class="nump">$ 47,501,523<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_esp_AccruedExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">esp_AccruedExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</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_esp_DeferredTaxAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred tax assets 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;">esp_DeferredTaxAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</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_esp_DeferredTaxLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred tax liabilities 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;">esp_DeferredTaxLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</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_esp_InventoriesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">esp_InventoriesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</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_esp_TotalStockholdersEquityBeforyEsopAndTreasuryStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, before ESOP and Treasury stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">esp_TotalStockholdersEquityBeforyEsopAndTreasuryStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</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_esp_UnearnedEsopSharesCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Unearned ESOP shares.</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;">esp_UnearnedEsopSharesCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<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><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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, 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 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-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_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_AccruedPayrollTaxesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for statutory payroll taxes incurred through that date and withheld from employees pertaining to services received from them, including entity's matching share of the employees FICA taxes and contributions to the state and federal unemployment insurance programs. 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> -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_AccruedPayrollTaxesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_AccruedSalariesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the obligations incurred through that date and payable for employees' services provided. 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> -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><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 8<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-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_AccruedSalariesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_AccruedVacationCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for unused vacation time owed to employees based on the entity's vacation benefit given to its employees. 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> -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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 710<br> -SubTopic 10<br> -Section 25<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483070/710-10-25-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_AccruedVacationCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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/2147478777/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_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset recognized for present right to economic benefit.</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 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<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 (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 6: 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 7: 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 8: 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 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(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 10: 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 11: 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 12: 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 13: 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/2147479168/946-830-55-12<br><br>Reference 14: 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/2147478777/944-210-S99-1<br><br>Reference 15: 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/2147479170/946-210-S99-1<br><br>Reference 16: 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 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/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 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)(iii)(A))<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)(iv))<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)(5))<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 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 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)(A))<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)(B))<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)(iv))<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)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: 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 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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 30: 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/2147478546/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_AssetsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AssetsAbstract</td>
</tr>
<tr>
<td style="padding-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_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>Amount of asset recognized for present right to economic benefit, 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 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_AvailableForSaleSecuritiesDebtSecuritiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), 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 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481830/320-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479130/326-30-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_AvailableForSaleSecuritiesDebtSecuritiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</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 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-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(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<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)(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/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(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-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_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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://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 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)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-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_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_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, 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 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_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncomeTaxesReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 due within one year of the balance sheet date (or one operating cycle, if longer) from tax authorities as of the balance sheet date representing refunds of overpayments or recoveries based on agreed-upon resolutions of disputes.</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 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-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(3)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_InventoryForLongTermContractsOrPrograms">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves, and progress payments, of inventory associated with long-term contracts, expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(2))<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_InventoryForLongTermContractsOrPrograms</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryRawMaterials">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterials</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryWorkInProcess">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of merchandise or goods in the production process expected to be completed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWorkInProcess</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others.</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 S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<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(20))<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(24))<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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<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(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<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(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-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(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-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(21))<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 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 10: 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 11: 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 12: 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 13: 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 14: 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 15: 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/2147479168/946-830-55-12<br><br>Reference 16: 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/2147479170/946-210-S99-1<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/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 28: 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 29: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/2147478777/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/2147478546/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_LiabilitiesAndStockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LiabilitiesAndStockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-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_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://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(21))<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> -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 3: 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 4: 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 5: 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 6: 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 7: 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 8: 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 9: 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 10: 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 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)(ii))<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><br>Reference 21: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_OtherEmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligations incurred for employer-related costs classified as other, payable 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/legacyRef<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_OtherEmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br><br>Reference 3: 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 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(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 5: 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/2147478451/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://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><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 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 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 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 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)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 7: 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/2147479170/946-210-S99-1<br><br>Reference 8: 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_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_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://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 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(30))<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(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: 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 5: 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/2147479168/946-830-55-12<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(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 7: 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/2147479170/946-210-S99-2<br><br>Reference 8: 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/2147479134/946-220-S99-3<br><br>Reference 9: 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/2147479134/946-220-S99-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 S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 11: 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 12: 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 13: 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 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_TaxesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for statutory income, sales, use, payroll, excise, real, property and other taxes. 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> -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><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(19))<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_TaxesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -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 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(30))<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 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481520/505-30-50-4<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481549/505-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621633195312">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Balance Sheets (Parentheticals) - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 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>Statement of Financial Position [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Trade accounts receivable, allowance (in Dollars)</a></td>
<td class="nump">$ 3,000<span></span>
</td>
<td class="nump">$ 3,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_CommonStockSharesAuthorized', window );">Common 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_CommonStockSharesIssued', window );">Common stock, shares issued</a></td>
<td class="nump">3,129,874<span></span>
</td>
<td class="nump">3,129,874<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">2,733,958<span></span>
</td>
<td class="nump">2,702,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_CommonStockSharesHeldInEmployeeTrustShares', window );">Unearned ESOP shares</a></td>
<td class="nump">211,487<span></span>
</td>
<td class="nump">233,645<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_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in Dollars per share)</a></td>
<td class="nump">$ 0.33<span></span>
</td>
<td class="nump">$ 0.33<span></span>
</td>
</tr>
<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_TreasuryStockCommonShares', window );">Treasury stock, shares</a></td>
<td class="nump">395,916<span></span>
</td>
<td class="nump">427,241<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_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 accounts 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/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(4))<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> -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 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-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_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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://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 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(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-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_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_CommonStockSharesHeldInEmployeeTrustShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 common stock held in a trust that has been set up specifically to accumulate stock for the sole purpose of distribution to participating employees but not yet earned.</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 40<br> -Section 25<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480637/718-40-25-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_CommonStockSharesHeldInEmployeeTrustShares</td>
</tr>
<tr>
<td style="padding-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://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 3: 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/2147479170/946-210-S99-2<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(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 5: 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/2147479170/946-210-S99-1<br><br>Reference 6: 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/2147479134/946-220-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockCommonShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481549/505-30-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_TreasuryStockCommonShares</td>
</tr>
<tr>
<td style="padding-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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621637316288">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Statements of Comprehensive Income - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>Income Statement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Net sales</a></td>
<td class="nump">$ 38,736,319<span></span>
</td>
<td class="nump">$ 35,592,323<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">Cost of sales</a></td>
<td class="nump">28,083,259<span></span>
</td>
<td class="nump">27,541,785<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">10,653,060<span></span>
</td>
<td class="nump">8,050,538<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_SellingGeneralAndAdministrativeExpense', window );">Selling, general and administrative expenses</a></td>
<td class="nump">4,113,608<span></span>
</td>
<td class="nump">3,750,524<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 );">Operating income</a></td>
<td class="nump">6,539,452<span></span>
</td>
<td class="nump">4,300,014<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_OtherIncomeAbstract', window );"><strong>Other income</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_InvestmentIncomeInterest', window );">Interest income</a></td>
<td class="nump">728,299<span></span>
</td>
<td class="nump">359,617<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_OtherNonoperatingIncome', window );">Other</a></td>
<td class="nump">27,263<span></span>
</td>
<td class="nump">46,836<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_OtherNonoperatingIncomeExpense', window );">Total other income</a></td>
<td class="nump">755,562<span></span>
</td>
<td class="nump">406,453<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before provision for income taxes</a></td>
<td class="nump">7,295,014<span></span>
</td>
<td class="nump">4,706,467<span></span>
</td>
</tr>
<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">1,479,874<span></span>
</td>
<td class="nump">1,029,336<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">5,815,140<span></span>
</td>
<td class="nump">3,677,131<span></span>
</td>
</tr>
<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_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract', window );"><strong>Other comprehensive income, net of tax:</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_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax', window );">Unrealized gain (loss) on investment securities</a></td>
<td class="nump">8,973<span></span>
</td>
<td class="num">(497)<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_ComprehensiveIncomeNetOfTax', window );">Total comprehensive income</a></td>
<td class="nump">$ 5,824,113<span></span>
</td>
<td class="nump">$ 3,676,634<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_EarningsPerShareAbstract', window );"><strong>Net income per share:</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_EarningsPerShareBasic', window );">Basic (in Dollars per share)</a></td>
<td class="nump">$ 2.34<span></span>
</td>
<td class="nump">$ 1.5<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 (in Dollars per share)</a></td>
<td class="nump">$ 2.29<span></span>
</td>
<td class="nump">$ 1.49<span></span>
</td>
</tr>
<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_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>Weighted average number of shares outstanding:</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_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic (in Shares)</a></td>
<td class="nump">2,489,165<span></span>
</td>
<td class="nump">2,454,856<span></span>
</td>
</tr>
<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_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted (in Shares)</a></td>
<td class="nump">2,536,967<span></span>
</td>
<td class="nump">2,471,016<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/2147478524/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/2147477250/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://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(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-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 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_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/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2))<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 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/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 7: 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 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)(iii)(A))<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)(4)(iv))<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 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 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)(i))<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)(A))<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)(iii)(B))<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)(4)(iv))<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)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: 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 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<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 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 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 (e)(4)<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 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 9: 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 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 (b)<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 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<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 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: 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 14: 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 15: 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 16: 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 17: 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 18: 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/2147478524/942-220-S99-1<br><br>Reference 19: 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/2147477250/944-220-S99-1<br><br>Reference 20: 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 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: 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 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<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 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 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 (e)(4)<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 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 9: 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 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 (b)<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 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<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 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: 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 14: 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 15: 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 16: 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 17: 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/2147478524/942-220-S99-1<br><br>Reference 18: 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/2147477250/944-220-S99-1<br><br>Reference 19: 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/2009/role/commonPracticeRef<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/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<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/2009/role/commonPracticeRef<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 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 8: 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><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(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 10: 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 11: 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 12: 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 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)(i))<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)(ii))<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/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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/2009/role/commonPracticeRef<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/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<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/2009/role/commonPracticeRef<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 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 8: 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/2147477250/944-220-S99-1<br><br>Reference 9: 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 10: 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/2147477314/942-235-S99-1<br><br>Reference 11: 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 12: 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/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-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 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<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 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<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 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 6: 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 7: 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 8: 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 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> -Subparagraph (h)<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 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/2147477250/944-220-S99-1<br><br>Reference 11: 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 12: 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_InvestmentIncomeInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities.</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> -Subparagraph (c)<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/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-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 32<br> -Subparagraph (ee)<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_InvestmentIncomeInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<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 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: 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 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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 12: 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 13: 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 14: 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 15: 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 16: 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 17: 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/2147479168/946-830-55-10<br><br>Reference 18: 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/2147479105/946-220-45-7<br><br>Reference 19: 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/2147477250/944-220-S99-1<br><br>Reference 20: 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/2147479134/946-220-S99-1<br><br>Reference 21: 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/2147479134/946-220-S99-3<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)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: 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 24: 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 25: 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 26: 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 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)(i))<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)(4)(iii)(A))<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 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 30: 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 31: 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 32: 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 33: 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 34: 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 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://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/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<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/2009/role/commonPracticeRef<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 3: http://www.xbrl.org/2009/role/commonPracticeRef<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/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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/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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract</td>
</tr>
<tr>
<td style="padding-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_OtherIncomeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OtherIncomeAbstract</td>
</tr>
<tr>
<td style="padding-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_OtherNonoperatingIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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://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(7)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<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 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<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 (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 7: 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 8: 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 9: 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 10: 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 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)(ii))<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/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 21: 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 22: 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 23: 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 24: 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 25: 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/2147477314/942-235-S99-1<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingGeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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_WeightedAverageNumberOfSharesOutstandingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_WeightedAverageNumberOfSharesOutstandingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -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>21
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621636780176">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Statements of Changes in Stockholders' Equity - USD ($)<br></strong></div></th>
<th class="th"><div>Common Stock</div></th>
<th class="th"><div>Capital in Excess of Par Value</div></th>
<th class="th"><div>Accumulated Other Comprehensive (Loss) Gain</div></th>
<th class="th"><div>Retained Earnings</div></th>
<th class="th"><div>Treasury Stock</div></th>
<th class="th"><div>Unearned ESOP Shares</div></th>
<th class="th"><div>Total</div></th>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balances at Jun. 30, 2022</a></td>
<td class="nump">$ 1,043,291<span></span>
</td>
<td class="nump">$ 23,104,693<span></span>
</td>
<td class="num">$ (1,932)<span></span>
</td>
<td class="nump">$ 18,679,857<span></span>
</td>
<td class="num">$ (6,038,691)<span></span>
</td>
<td class="num">$ (4,687,604)<span></span>
</td>
<td class="nump">$ 32,099,614<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_CommonStockSharesOutstanding', window );">Balances (in Shares) at Jun. 30, 2022</a></td>
<td class="nump">2,702,633<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">427,241<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,677,131<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,677,131<span></span>
</td>
</tr>
<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_OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax', window );">Other comprehensive income, net of tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(497)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(497)<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_ComprehensiveIncomeNetOfTax', window );">Total comprehensive income</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>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,676,634<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition', window );">Stock-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">227,132<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>
<td class="nump">227,132<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_DividendsCommonStockCash', window );">Dividends paid on common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(489,268)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(489,268)<span></span>
</td>
</tr>
<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_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan', window );">Reduction of unearned ESOP shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(48,580)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">414,226<span></span>
</td>
<td class="nump">365,646<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 );">Balances at Jun. 30, 2023</a></td>
<td class="nump">$ 1,043,291<span></span>
</td>
<td class="nump">23,283,245<span></span>
</td>
<td class="num">(2,429)<span></span>
</td>
<td class="nump">21,867,720<span></span>
</td>
<td class="num">$ (6,038,691)<span></span>
</td>
<td class="num">(4,273,378)<span></span>
</td>
<td class="nump">$ 35,879,758<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_CommonStockSharesOutstanding', window );">Balances (in Shares) at Jun. 30, 2023</a></td>
<td class="nump">2,702,633<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">427,241<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,702,633<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,815,140<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,815,140<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax', window );">Other comprehensive income, net of tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,973<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,973<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_ComprehensiveIncomeNetOfTax', window );">Total comprehensive income</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>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,824,113<span></span>
</td>
</tr>
<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_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Stock options exercised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">330,659<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 195,703<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">526,362<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_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Stock options exercised (in Shares)</a></td>
<td class="nump">31,325<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(31,325)<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_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition', window );">Stock-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">283,673<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>
<td class="nump">283,673<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_DividendsCommonStockCash', window );">Dividends paid on common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,678,070)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,678,070)<span></span>
</td>
</tr>
<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_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan', window );">Reduction of unearned ESOP shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">32,851<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">405,285<span></span>
</td>
<td class="nump">438,136<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 );">Balances at Jun. 30, 2024</a></td>
<td class="nump">$ 1,043,291<span></span>
</td>
<td class="nump">$ 23,930,428<span></span>
</td>
<td class="nump">$ 6,544<span></span>
</td>
<td class="nump">$ 26,004,790<span></span>
</td>
<td class="num">$ (5,842,988)<span></span>
</td>
<td class="num">$ (3,868,093)<span></span>
</td>
<td class="nump">$ 41,273,972<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_CommonStockSharesOutstanding', window );">Balances (in Shares) at Jun. 30, 2024</a></td>
<td class="nump">2,733,958<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">395,916<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,733,958<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://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 3: 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/2147479170/946-210-S99-2<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(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 5: 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/2147479170/946-210-S99-1<br><br>Reference 6: 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/2147479134/946-220-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_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/2147478524/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/2147477250/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://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(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-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 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_DividendsCommonStockCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 paid and unpaid common stock dividends declared with the form of settlement in cash.</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 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_DividendsCommonStockCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<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 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: 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 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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 12: 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 13: 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 14: 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 15: 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 16: 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 17: 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/2147479168/946-830-55-10<br><br>Reference 18: 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/2147479105/946-220-45-7<br><br>Reference 19: 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/2147477250/944-220-S99-1<br><br>Reference 20: 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/2147479134/946-220-S99-1<br><br>Reference 21: 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/2147479134/946-220-S99-3<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)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: 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 24: 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 25: 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 26: 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 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)(i))<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)(4)(iii)(A))<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 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 30: 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 31: 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 32: 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 33: 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 34: 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 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://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/2147478524/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_OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 gain (loss) for (increase) decrease in value of benefit obligation for change in actuarial assumptions and increase (decrease) in value of plan assets from experience different from that assumed of defined benefit plan, that has not been recognized in net periodic benefit (cost) credit.</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 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-11<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 10A<br> -Subparagraph (i)<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 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-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_OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 share options (or share units) exercised during the current 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 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://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)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: 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_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-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_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 value of stock issued during the period as a result of 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 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> -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 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 40<br> -Section 25<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480637/718-40-25-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_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued as a result of the exercise of stock options.</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(29))<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(30))<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> -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 5: 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_StockIssuedDuringPeriodValueStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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://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 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(30))<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(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: 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 5: 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/2147479168/946-830-55-12<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(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 7: 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/2147479170/946-210-S99-2<br><br>Reference 8: 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/2147479134/946-220-S99-3<br><br>Reference 9: 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/2147479134/946-220-S99-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 S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 11: 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 12: 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 13: 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 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621636936080">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Statements of Changes in Stockholders' Equity (Parentheticals) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 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_StatementOfStockholdersEquityAbstract', window );"><strong>Statement of Stockholders' Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax', window );">Other comprehensive income, net of tax</a></td>
<td class="nump">$ 1,884<span></span>
</td>
<td class="nump">$ 104<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_CommonStockDividendsPerShareCashPaid', window );">Dividends paid on common stock per share</a></td>
<td class="nump">$ 0.675<span></span>
</td>
<td class="nump">$ 0.2<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockDividendsPerShareCashPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 dividends paid during the period for each share of common stock outstanding.</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 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_CommonStockDividendsPerShareCashPaid</td>
</tr>
<tr>
<td style="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_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 adjustment, of tax expense (benefit) for 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 tax expense (benefit) for 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://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 45<br> -Paragraph 10A<br> -Subparagraph (f)<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_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_StatementOfStockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementOfStockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-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>23
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621632529856">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Statements of Cash Flows - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 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_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 5,815,140<span></span>
</td>
<td class="nump">$ 3,677,131<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</a></td>
<td class="nump">283,673<span></span>
</td>
<td class="nump">227,132<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_Depreciation', window );">Depreciation</a></td>
<td class="nump">453,517<span></span>
</td>
<td class="nump">484,920<span></span>
</td>
</tr>
<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_EmployeeStockOwnershipPlanESOPCompensationExpense', window );">ESOP compensation expense</a></td>
<td class="nump">438,136<span></span>
</td>
<td class="nump">365,646<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_DeferredIncomeTaxExpenseBenefit', window );">Deferred income tax benefit</a></td>
<td class="num">(1,032,981)<span></span>
</td>
<td class="num">(40,002)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment', window );">Loss (gain) on disposal of property, plant and equipment</a></td>
<td class="nump">590<span></span>
</td>
<td class="num">(2,500)<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 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 );">Increase in trade accounts receivable</a></td>
<td class="num">(880,208)<span></span>
</td>
<td class="num">(22,108)<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_IncreaseDecreaseInIncomeTaxesReceivable', window );">Decrease (increase) in income tax receivable</a></td>
<td class="nump">35,666<span></span>
</td>
<td class="num">(35,666)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Decrease (increase) in inventories</a></td>
<td class="nump">645,572<span></span>
</td>
<td class="num">(1,329,132)<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_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Decrease (increase) in prepaid expenses and other current assets</a></td>
<td class="nump">1,051,075<span></span>
</td>
<td class="num">(3,289,703)<span></span>
</td>
</tr>
<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_IncreaseDecreaseInAccountsPayable', window );">Increase (decrease) in accounts payable</a></td>
<td class="nump">2,538,833<span></span>
</td>
<td class="num">(866,802)<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_IncreaseDecreaseInAccruedSalaries', window );">Increase in accrued salaries and wages</a></td>
<td class="nump">37,415<span></span>
</td>
<td class="nump">263,561<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_esp_IncreaseDecreaseInVacationAccrual', window );">(Decrease) increase in vacation accrual</a></td>
<td class="num">(174,044)<span></span>
</td>
<td class="nump">18,808<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_IncreaseDecreaseInOtherAccruedLiabilities', window );">Increase (decrease) in other accrued expenses</a></td>
<td class="nump">209,805<span></span>
</td>
<td class="num">(204,807)<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_esp_IncreasedecreaseInPayrollAndOtherTaxesWithheld', window );">Decrease (increase) in payroll and other taxes withheld</a></td>
<td class="num">(9,180)<span></span>
</td>
<td class="nump">10,750<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_IncreaseDecreaseInContractWithCustomerLiability', window );">Increase in contract liabilities</a></td>
<td class="nump">961,584<span></span>
</td>
<td class="nump">4,697,364<span></span>
</td>
</tr>
<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_IncreaseDecreaseInAccruedIncomeTaxesPayable', window );">Increase (decrease) in income taxes payable</a></td>
<td class="nump">220,607<span></span>
</td>
<td class="num">(54,722)<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_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by operating activities</a></td>
<td class="nump">10,595,200<span></span>
</td>
<td class="nump">3,899,870<span></span>
</td>
</tr>
<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_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="re">
<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 );">Additions to property, plant and equipment</a></td>
<td class="num">(5,164,165)<span></span>
</td>
<td class="num">(512,016)<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_esp_ProceedsFromGrantAward', window );">Proceeds from grant award</a></td>
<td class="nump">4,228,722<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment', window );">Proceeds from sale of property, plant and equipment</a></td>
<td class="nump">150<span></span>
</td>
<td class="nump">2,500<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireInvestments', window );">Purchase of investment securities</a></td>
<td class="num">(26,423,984)<span></span>
</td>
<td class="num">(15,902,014)<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_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities', window );">Proceeds from sale/maturity of investment securities</a></td>
<td class="nump">19,519,000<span></span>
</td>
<td class="nump">7,645,623<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="num">(7,840,277)<span></span>
</td>
<td class="num">(8,765,907)<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_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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfDividendsCommonStock', window );">Dividends paid on common stock</a></td>
<td class="num">(1,678,070)<span></span>
</td>
<td class="num">(489,268)<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_ProceedsFromRepurchaseOfEquity', window );">Proceeds from exercise of stock options</a></td>
<td class="nump">526,362<span></span>
</td>
<td class="text"> <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 used in financing activities</a></td>
<td class="num">(1,151,708)<span></span>
</td>
<td class="num">(489,268)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect', window );">Increase (decrease) in cash and cash equivalents</a></td>
<td class="nump">1,603,215<span></span>
</td>
<td class="num">(5,355,305)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents, beginning of the year</a></td>
<td class="nump">2,748,755<span></span>
</td>
<td class="nump">8,104,060<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents, end of the year</a></td>
<td class="nump">4,351,970<span></span>
</td>
<td class="nump">2,748,755<span></span>
</td>
</tr>
<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_SupplementalCashFlowElementsAbstract', window );"><strong>Supplemental Schedule of Cash Flow Information:</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_IncomeTaxesPaidNet', window );">Income taxes paid</a></td>
<td class="nump">$ 2,258,965<span></span>
</td>
<td class="nump">$ 1,159,595<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_esp_IncreaseDecreaseInVacationAccrual">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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) in vacation accrual for the period.</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;">esp_IncreaseDecreaseInVacationAccrual</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</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_esp_IncreasedecreaseInPayrollAndOtherTaxesWithheld">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Increase (decrease) in payroll and other taxes withheld.</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;">esp_IncreasedecreaseInPayrollAndOtherTaxesWithheld</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</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_esp_ProceedsFromGrantAward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Proceeds from grant award.

..</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;">esp_ProceedsFromGrantAward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</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_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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; excluding effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -SubTopic 230<br> -Topic 830<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477401/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/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(h)(1)(Note 1))<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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</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_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_EmployeeStockOwnershipPlanESOPCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 plan compensation cost recognized 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> -Topic 718<br> -SubTopic 40<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480489/718-40-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_EmployeeStockOwnershipPlanESOPCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_GainLossOnSaleOfPropertyPlantEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.</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_GainLossOnSaleOfPropertyPlantEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncomeTaxesPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax.</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 2A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 23<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-23<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 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-22<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-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_IncomeTaxesPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_IncreaseDecreaseInAccruedSalaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 accrued salaries.</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_IncreaseDecreaseInAccruedSalaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncreaseDecreaseInContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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 912<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478345/912-310-45-11<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncreaseDecreaseInIncomeTaxesReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 income taxes receivable, which represents the amount due from tax authorities for refunds of overpayments or recoveries of income taxes 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_IncreaseDecreaseInIncomeTaxesReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 other 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_IncreaseDecreaseInOtherAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<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 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: 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 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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 12: 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 13: 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 14: 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 15: 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 16: 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 17: 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/2147479168/946-830-55-10<br><br>Reference 18: 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/2147479105/946-220-45-7<br><br>Reference 19: 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/2147477250/944-220-S99-1<br><br>Reference 20: 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/2147479134/946-220-S99-1<br><br>Reference 21: 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/2147479134/946-220-S99-3<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)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: 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 24: 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 25: 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 26: 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 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)(i))<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)(4)(iii)(A))<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 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 30: 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 31: 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 32: 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 33: 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 34: 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 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://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/2147478524/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_PaymentsOfDividendsCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 in the form of ordinary dividends to common shareholders of the parent 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 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_PaymentsOfDividendsCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProceedsFromRepurchaseOfEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 cash inflow or outflow resulting from the entity's share 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_ProceedsFromRepurchaseOfEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 sale, maturity, prepayment and call of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (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/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481830/320-10-45-11<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (a)<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_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProceedsFromSaleOfPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 sale of long-lived, physical assets that are 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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (c)<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_ProceedsFromSaleOfPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowElementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SupplementalCashFlowElementsAbstract</td>
</tr>
<tr>
<td style="padding-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>24
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621633141600">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Nature of Operations<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Nature of Operations [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NatureOfOperations', window );">Nature of Operations</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -0.75in">Note 1. Nature
of Operations</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Espey Mfg. &amp; Electronics Corp. (the Company)
is a manufacturer of electronic equipment used primarily in military and industrial applications. The principal markets for the Company's
products are companies that provide electronic support to both military and industrial applications across the United States and at some
international locations.</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_NatureOfOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.</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> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/275/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<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_NatureOfOperations</td>
</tr>
<tr>
<td style="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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621638487328">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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>Summary of Significant Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SignificantAccountingPoliciesTextBlock', window );">Summary of Significant Accounting Policies</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Note 2. Summary of Significant Accounting Policies</p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The majority of our sales are generated from military
contracts from defense companies, the Department of Defense, other agencies of the government of the United States and foreign governments,
for the design and development and/or manufacture of products. Sales are also generated from industrial manufacturers for similar services.
We provide our products and design and development services under fixed-price contracts. Under fixed-price contracts we agree to perform
the specified work for a pre-determined price. To the extent our actual costs vary from the estimates upon which the price was negotiated,
we will generate more or less profit or could incur a loss.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We account for a contract with a customer after
it has been approved by all parties to the arrangement, the rights of the parties are identified, payment terms are identified, the contract
has commercial substance, and collection of substantially all of the amount to which the entity will be entitled in exchange for the goods
or services that will be transferred to the customer is probable. We assess each contract at its inception to determine whether it should
be combined with other contracts. When making this determination, we consider factors such as whether two or more contracts were negotiated
and executed at or near the same time, or were negotiated with an overall profit objective.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We evaluate the products or services promised
in each contract at inception to determine whether the contract should be accounted for as having one or more performance obligations.
Significant judgment is required in determining performance obligations. We determine the transaction price for each contract based on
the consideration we expect to receive for the products or services being provided under the contract. The transaction price for each
performance obligation is based on the estimated standalone selling price of the product or service underlying each performance obligation.
Transaction prices on our contracts subject to the Federal Acquisition Regulations (FAR) are typically based on estimated costs plus a
reasonable profit margin.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We recognize revenue using the output method based
on the appraisal of results achieved and milestones reached or units delivered based on contractual shipment terms, typically shipping
point.</p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Raw materials are valued at the lower of cost
(average cost) or net realizable value. Balances for slow-moving and obsolete inventory are reviewed on a regular basis by analyzing estimated
demand, inventory on hand, sales levels, market conditions, and other information and reduce inventory balances based on this analysis.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Inventory relating to contracts in process and
work in process is valued at cost, including factory overhead incurred to date. Contract costs include material, subcontract costs, labor,
and an allocation of overhead costs. Work in process represents spare units and parts and other inventory items acquired or produced to
service units previously sold or to meet anticipated future orders. Provision for losses on contracts is made when the existence of such
losses becomes probable and estimable.&#160;The provision for losses on contracts is included in other accrued expenses on the Company&#8217;s
balance sheet.&#160;The costs attributed to units delivered under contracts are based on the estimated average cost of all units expected
to be produced.&#160; Certain contracts are expected to extend beyond twelve months.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The estimation of total cost at completion of
a contract is subject to numerous variables involving contract costs and estimates as to the length of time to complete the contract.&#160;Given
the significance of the estimation processes and judgments described above, it is possible that materially different amounts of expected
sales and contract costs could be recorded if different assumptions were used, based on changes in circumstances, in the estimation process.&#160;When
a change in expected sales value or estimated cost is determined, the change is reflected in current period earnings.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Contract Liabilities</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Contract liabilities include advance payments
and billings in excess of revenue recognized.</p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Depreciation of plant and equipment is computed
on a straight-line basis over the estimated useful lives of the assets.&#160;</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Estimated useful lives of depreciable assets are
as follows:</p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 80%; border-collapse: collapse; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="width: 50%; text-align: justify">Buildings and improvements </td>
    <td style="width: 50%; text-align: right">10 &#8211; 50 years</td></tr>
  <tr style="vertical-align: top; ">
    <td style="text-align: justify">Machinery and equipment</td>
    <td style="text-align: right">3 &#8211; 20 years</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Furniture and fixtures</td>
    <td style="text-align: right">7 &#8211; 10 years</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company follows the provisions of Accounting
Standards Codification (&#8220;ASC&#8221;) Topic 740-10, "Accounting for Income Taxes."</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Under the provisions of ASC 740-10, deferred tax
assets and liabilities are recognized for the future tax consequences attributable to differences between the financial statement carrying
amounts of existing assets and liabilities and their respective tax bases.&#160;Deferred tax assets and liabilities are measured using
enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or
settled.&#160;The effect on deferred taxes and liabilities of a change in tax rates is recognized in earnings in the period that includes
the enactment date.</p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Cash and cash equivalents consist of cash and
money market funds. The Company considers all highly liquid investments with original maturities of three months or less to be cash equivalents.&#160;</p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company accounts for its investments in debt
securities in accordance with ASC 320-10-25, &#8220;Accounting for Certain Investments in Debt and Equity Securities.&#8221;&#160;Investments
in debt securities at June 30, 2024 and  2023 consisted of municipal bonds and treasury bills.&#160;The Company classifies investments
in debt securities as available-for-sale. Unrealized holding gains and losses, net of related tax effect, on available-for-sale debt securities
are excluded from earnings and are reported as a separate component of stockholders&#8217; equity until realized.&#160;Realized gains
and losses for debt securities classified as available-for-sale are included in earnings and are determined using the specific identification
method.&#160;Interest income is recognized when earned.&#160;Fair values are based on quoted market prices available as of the balance
sheet date, and are therefore considered a Level 1 valuation.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Certificates of deposit held for investment with
an original maturity greater than three months are carried at amortized cost and reported as short-term investments on the balance sheets.
The type of certificates of deposit that the Company invests in are not considered debt securities under Financial Accounting Standards
Board ("FASB") Accounting Standards Codification (&#8220;ASC&#8221;) 320, Investments - Debt Securities.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Fair Value of Financial Instruments</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Accounting Standards Codification (&#8220;ASC&#8221;)
820 establishes a fair value hierarchy which requires an entity to maximize the use of observable inputs and minimize the use of unobservable
inputs when measuring fair value.&#160;The standard describes three levels of inputs that may be used to measure fair value:</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span>&#9726;</span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Level
1: Quoted prices (unadjusted) for identical assets or liabilities in active markets that the entity has the ability to access as of the
measurement date.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span>&#9726;</span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Level
2: Significant other observable inputs other than Level 1 prices such as quoted prices for similar assets or liabilities; quoted prices
in markets that are not active; or other inputs that are observable or can be corroborated by observable market data.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span>&#9726;</span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Level
3: Significant unobservable inputs that reflect a reporting entity&#8217;s own assumptions about the assumptions that market participants
would use in pricing an asset or liability.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The carrying amounts of financial instruments,
including cash and cash equivalents, short term investment securities, accounts receivable, accounts payable and accrued expenses, approximated
fair value as of June 30, 2024 and 2023 because of the immediate or short-term maturity of these financial instruments.&#160;</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Accounts Receivable and Allowance for Credit Losses</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company extends credit to its customers in
the normal course of business and collateral is generally not required for trade receivables.&#160;Exposure to credit risk is controlled
through the use of credit approvals, credit limits, and monitoring procedures.&#160;Accounts receivable are reported net of an allowance
for credit losses.&#160;The Company estimates the allowance based on its analysis of historical experience, current economic market conditions,
performance of specific account reviews, and other factored considerations to include, but not limited to, contracts covered by government
funding and the overall health of the industry. Interest is not charged on past due balances. Based on these factors, there was an allowance for credit losses of $3,000 at June 30, 2024 and 2023. Changes to the allowance for credit
losses are charged to expense and reduced by charge-offs, net of recoveries. The opening accounts receivable balance, net of allowance
for credit losses of $3,000, at July 1, 2022 and July 1, 2023 were $5,733,174 and $5,755,282, respectively.</p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">ASC 260-10 &#8220;Earnings Per Share (EPS)&#8221;
requires the Company to calculate net income per share based on basic and diluted net income per share, as defined.&#160;Basic EPS excludes
dilution and is computed by dividing net income by the weighted average number of shares outstanding for the period.&#160;Diluted EPS
reflects the potential dilution that could occur if securities or other contracts to issue common stock were exercised or converted into
common stock.&#160;The dilutive effect of outstanding options issued by the Company are reflected in diluted EPS using the treasury stock
method.&#160;Under the treasury stock method, options will only have a dilutive effect when the average market price of common stock during
the period exceeds the exercise price of the options.</p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Comprehensive income consists of net income and
other comprehensive income (loss).&#160;Other comprehensive income for fiscal years ended June 30, 2024 and 2023 consists of unrealized
holding gains (losses) on available-for-sale debt securities.&#160;</p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The preparation of financial statements in conformity
with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that
affect the reported amount of assets and liabilities and 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. Actual results could differ from those estimates.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Recently Adopted Accounting Standards</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In June 2016, the FASB issued ASU 2016-13, &#8220;Financial
Instruments-Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments&#8221;, <span>which
requires a financial asset measured at amortized cost basis to be presented at the net amount expected to be collected, with further clarifications
made more recently. For trade receivables, loans and other financial instruments, the Company will be required to use a forward-looking
expected loss model rather than the incurred loss model for recognizing credit losses which reflects losses that are probable. </span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Credit losses relating to available-for-sale
debt securities are required to be recorded through an allowance for credit losses rather than as a reduction in the amortized cost basis
of the securities. ASU 2016-13 is effective for public entities for fiscal years beginning after December 15, 2022, including interim
periods within those fiscal years. Upon adoption, the amendments in ASU 2016-13 should be applied on a prospective basis to all periods
presented relating to available-for-sale debt securities. For all other financial instruments the Company upon adoption will apply the
amendments on a modified-retrospective approach. The Company adopted the new guidance under ASU 2016-13 in the first quarter of fiscal
year 2024, and determined that the impact of the adoption on its financial statements is immaterial.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Recent Accounting Pronouncements Not Yet Adopted</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span>In December
2023, the FASB issued ASU No. 2023-09, &#8220;Income Taxes (&#8220;Topic 740&#8221;): Improvements to Income Tax Disclosures&#8221;, which includes
amendments that further enhance income tax disclosures through the standardization and disaggregation of rate reconciliation categories
and income taxes paid. ASU 2023-09 is effective for fiscal years beginning after December 15, 2024 and is to be applied prospectively,
with early adoption and retrospective application permitted. We are currently evaluating the impact of this standard to our
financial statements.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Impairment of Long-Lived Assets</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Long-lived assets, including property, plant,
and equipment, are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of an asset may
not be recoverable.&#160;Recoverability of assets to be held and used is measured by a comparison of the carrying amount of an asset to
estimated undiscounted future cash flows expected to be generated by the asset.&#160;If the carrying amount of an asset exceeds its estimated
future cash flows, an impairment charge is recognized by the amount by which the carrying amount of the asset exceeds the fair value of
the asset.&#160;There were <span style="-sec-ix-hidden: hidden-fact-10"><span style="-sec-ix-hidden: hidden-fact-11">no</span></span> impairments of long-lived assets in fiscal years 2024 and 2023.&#160;Assets to be disposed of are separately
presented in the balance sheet and reported at the lower of the carrying amount or fair value less costs to sell, and no longer depreciated.&#160;The
assets and liabilities of a disposed group classified as held for sale are presented separately in the appropriate asset and liability
sections of the balance sheet, if applicable.</p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The market for our defense electronics products
is largely dependent on the availability of new contracts from the United States and foreign governments to prime contractors to which
we provide components.&#160;Any decline in expenditures by the United States or foreign governments may have an adverse effect on our
financial performance.&#160;</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Generally, U.S. Government contracts are subject
to procurement laws and regulations.&#160;Some of the Company&#8217;s contracts are governed by the Federal Acquisition Regulation (FAR),
which lays out uniform policies and procedures for acquiring goods and services by the U.S. Government, and agency-specific acquisition
regulations that implement or supplement the FAR.&#160;For example, the Department of Defense implements the FAR through the Defense Federal
Acquisition Regulation (DFAR).</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The FAR also contains guidelines and regulations
for managing a contract after award, including conditions under which contracts may be terminated, in whole or in part, at the government&#8217;s
convenience or for default. If a contract is terminated for the convenience of the government, a contractor is entitled to receive payments
for its allowable costs and, in general, the proportionate share of fees or earnings for the work done.&#160;If a contract is terminated
for default, the government generally pays for only the work it has accepted.&#160;These regulations also subject the Company to financial
audits and other reviews by the government of its costs, performance, accounting and general business practices relating to its contracts,
which may result in adjustment of the Company&#8217;s contract-related costs and fees.</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_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-1<br><br>Reference 2: 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_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="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>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.3</span><table class="report" border="0" cellspacing="2" id="idm46621632984912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_RevenuesAbstract', window );"><strong>Revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">Revenue</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Note 3. Revenue</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company follows ASC 606 &#8220;Revenue from
Contracts with Customers&#8221; to determine the recognition of revenue. This standard requires entities to assess the products or services
promised in contracts with customers at contract inception to determine the appropriate unit at which to record revenues.&#160;Revenue
is recognized when control of the promised products or services is transferred to customers at an amount that reflects the consideration
to which the entity expects to be entitled to in exchange for those products or services.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Significant judgment is required in determining
the satisfaction of performance obligations.&#160;Revenues from our performance obligations are satisfied over time using the output method
which considers the appraisal of results achieved and milestones reached or units delivered based on contractual shipment terms, typically
shipping point.&#160;Revenue is recognized when, or as, the customer takes control of the product or services.&#160;The output method
best depicts the transfer of control to the customer as the output method represents work completed. Control is typically transferred
to the customer at the shipping point as the Company has a present right to payment, the customer has legal title to the asset, the customer
has the significant risks and rewards of ownership of the asset, and in most instances the customer has accepted the asset.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Total revenue recognized for the year ended June
30, 2024 based on units delivered totaled $33,403,833 compared to $27,770,365 for the same period in fiscal year 2023. Total revenue
recognized for the year ended June 30, 2024 based on milestones achieved totaled $5,332,486 compared to $7,821,958 for the same period
in fiscal year 2023.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company offers a standard one-year product
warranty. Product warranties offered by the Company are classified as assurance-type warranties, which means, the warranty only
guarantees that the good or service functions as promised. Based on this, the provided warranty is not considered to be a distinct
performance obligation. The impact of variable consideration has been considered but none identified which would result in the
adjustment of the transaction price as of June 30, 2024.&#160;Our payment terms are generally 30-60 days.&#160;</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Contract liabilities were $9,043,422 and $8,081,838
as of June 30, 2024 and 2023, respectively. The increase in contract liabilities is primarily due to the advance collection of cash on
specific contracts, offset in part, by revenue recognized. Revenue recognized, that was in contract liabilities in the beginning of the
fiscal year, approximated $1,191,954 for the year ended June 30, 2024. The Company used the practical expedient to expense incremental
costs incurred to obtain a contract when the contract term is less than one year.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company&#8217;s backlog at June 30, 2024 totaling
approximately $97.2 million is expected, based on expected due dates, to be recognized in the following fiscal years: 45% in 2025, 33%
in 2026, 10% in 2027, and 12% thereafter. </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_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>
<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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621638432480">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Investment Securities<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_InvestmentsAbstract', window );"><strong>Investment Securities [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentTextBlock', window );">Investment Securities</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Note 4. Investment Securities</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Investment securities at June 30, 2024 consist
of certificates of deposit, municipal bonds and U.S. treasury bills and at June 30, 2023, consisted of certificates of deposit, municipal
bonds and U.S. treasury bills. The Company classifies investment securities as available-for-sale which have been determined to be level
1 assets.&#160;The cost, gross unrealized gains, gross unrealized losses and fair value debt securities by major security type at June
30, 2024&#160;and June 30, 2023 are as follows:</p>

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

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Gross</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Gross</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Amortized</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Unrealized</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Unrealized</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Fair</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Cost</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Gains</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Losses</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Value</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-decoration: underline">June 30, 2024</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="width: 48%">Certificates of deposit</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">17,651,000</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><div style="-sec-ix-hidden: hidden-fact-12">&#8212;</div></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><div style="-sec-ix-hidden: hidden-fact-13">&#8212;</div></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">17,651,000</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Municipal bonds</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">709,059</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,824</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(3,313</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">711,570</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-bottom: 1pt; text-align: left">U.S. Treasury bills</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">510,288</td><td style="padding-bottom: 1pt; white-space: nowrap; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">5,773</td><td style="padding-bottom: 1pt; white-space: nowrap; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-14">&#8212;</div></td><td style="padding-bottom: 1pt; white-space: nowrap; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">516,061</td><td style="padding-bottom: 1pt; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total investment securities</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">18,870,347</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">11,597</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(3,313</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">18,878,631</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Gross</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Gross</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Amortized</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Unrealized</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Unrealized</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Fair</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Cost</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Gains</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Losses</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Value</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-decoration: underline">June 30, 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="width: 48%">Certificates of deposit</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">11,280,000</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><div style="-sec-ix-hidden: hidden-fact-15">&#8212;</div></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><div style="-sec-ix-hidden: hidden-fact-16">&#8212;</div></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">11,280,000</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Municipal bonds</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">260,475</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">165</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(7,843</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">252,797</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left; padding-bottom: 1pt">U.S. Treasury Bills</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">430,952</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,225</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(301</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">431,876</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total investment securities</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">11,971,427</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1,390</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(8,144</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">11,964,673</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The portfolio is diversified and highly liquid
and primarily consists of investment grade fixed income instruments. At June 30, 2024, the Company did not have any investments in individual
securities that have been in a continuous loss position considered to be other than temporary.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">As of June 30, 2024 and June 30, 2023, the remaining
contractual maturities of available-for-sale debt securities were as follows:</p>

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

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Years to Maturity</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Less than</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">One to</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">One Year</td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">Five Years</td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Total</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-decoration: underline">June 30, 2024</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="width: 61%; padding-bottom: 1pt">Available-for-sale</td><td style="width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="width: 10%; border-bottom: Black 1pt solid; text-align: right">17,889,582</td><td style="white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="width: 10%; border-bottom: Black 1pt solid; text-align: right">989,049</td><td style="white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="width: 10%; border-bottom: Black 1pt solid; text-align: right">18,878,631</td><td style="white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-decoration: underline">June 30, 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Available-for-sale</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">11,711,876</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">252,797</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">11,964,673</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 investment.</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 320<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/320/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Topic 321<br> -Publisher FASB<br> -URI https://asc.fasb.org/321/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Topic 325<br> -Publisher FASB<br> -URI https://asc.fasb.org/325/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_InvestmentTextBlock</td>
</tr>
<tr>
<td style="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_InvestmentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_InvestmentsAbstract</td>
</tr>
<tr>
<td style="padding-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>28
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621733634368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Contracts in Process<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_ContractorsAbstract', window );"><strong>Contracts in Process [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermContractsOrProgramsDisclosureTextBlock', window );">Contracts in Process</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Note 5. Contracts in Process</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -0.75in">Contracts in
process at June 30, 2024 and 2023 are as follows:</p>

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

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left">Unrecognized gross contract value</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">97,216,542</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">83,577,153</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left">Costs related to contracts in process</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">15,904,588</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">17,318,579</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Included in costs relating to contracts in process
at June 30, 2024 and 2023 are costs relative to contracts that may not be completed within the ensuing year as contracts vary in size,
scope and duration. Under the units-of-delivery method, the related sale and cost of sales will not be reflected in the statements of
comprehensive income until the units under contract are shipped.</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_ContractorsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ContractorsAbstract</td>
</tr>
<tr>
<td style="padding-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_LongTermContractsOrProgramsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 long-term contracts or programs.</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> -SubTopic 35<br> -Topic 605<br> -Publisher FASB<br> -URI https://asc.fasb.org/605-35/tableOfContent<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(3)(c)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-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)(d)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/912/tableOfContent<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 275<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479072/912-275-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 275<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479072/912-275-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 275<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479072/912-275-50-4<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 275<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479072/912-275-50-5<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 275<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479072/912-275-50-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478685/912-310-50-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478685/912-310-50-4<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 405<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478788/912-405-45-4<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 405<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477623/912-405-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 405<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477623/912-405-50-3<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 910<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482332/910-20-50-1<br><br>Reference 16: 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(3)(c)(2))<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_LongTermContractsOrProgramsDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>29
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621633016384">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property, Plant and Equipment<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock', window );">Property, Plant and Equipment</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Note 6. Property, Plant and Equipment</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Property, plant and equipment at June 30, 2024
and 2023 is as follows:</p>

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

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%">Land</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">45,000</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">45,000</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left">Building and improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,472,156</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,811,179</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Machinery and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,509,018</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,402,679</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left; padding-bottom: 1pt">Furniture and fixtures</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">165,651</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">164,200</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">17,191,825</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">16,423,058</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left; padding-bottom: 1pt">Accumulated depreciation</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(13,885,550</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(13,597,969</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Property, plant and equipment, net</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">3,306,275</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">2,825,089</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -0.75in"><span style="text-underline-style: double">&#160;</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Depreciation expense was $453,517
and $484,920 for the years ended June 30, 2024 and 2023, respectively.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company was awarded $7.4 million in
funding during the second quarter of fiscal year 2023 in support of facility and capital equipment upgrades for testing and
qualification for the United States Navy. The funding is part of the Navy&#8217;s investment to improve and sustain the Surface
Combatant Industrial Base. The work is being conducted on the Company&#8217;s property in Saratoga Springs, NY, with completion
slated for the end of calendar year 2024. The Company expects to be paid within 30 days after the submission of three milestone
invoices, but will not be paid for expenses incurred in excess of the specified milestone payment limits. The Company will record
the receipt of milestone payments received as a reduction from the cost of the assets. The Company will have an initial cash outlay
to satisfy income tax obligations arising from the value of the milestone payments received. The cash outlay arising from federal
income tax obligations is expected to be recaptured in future periods. Until recaptured, estimated tax obligations associated with
the receipt of milestone payments are recorded on the balance sheet and included in deferred tax assets. As of June 30, 2024, net
deferred tax asset includes a deferred tax asset of $888,032 associated with milestone reimbursements received totaling $4,228,722.
Included in property, plant, and equipment at June 30, 2024 was $965,392 not yet reimbursed, for facility and capital upgrades
under the funding award, compared to $308,001 in spending not yet reimbursed included in property, plant, and equipment at June 30,
2023. Included in accounts payable at June 30, 2024 was approximately $272,560 for facility and capital upgrades eligible to be
reimbursed under the funding award compared to $9,095 included in accounts payable at June 30, 2023.</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_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-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_PropertyPlantAndEquipmentDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</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> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/360/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-6<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-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_PropertyPlantAndEquipmentDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>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.3</span><table class="report" border="0" cellspacing="2" id="idm46621633163488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pension Expense<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_CompensationAndRetirementDisclosureAbstract', window );"><strong>Pension Expense [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock', window );">Pension Expense</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Note 7. Pension Expense</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Under terms of a negotiated union contract
which expires on June 30, 2025, the Company is obligated to make contributions to a union-sponsored International Brotherhood of
Electrical Workers Local 1799 defined benefit pension plan (Plan identifying number is 14-6065199) covering eligible employees. Such
contributions and expenses are based upon hours worked at a specified rate and amounted to $102,745 in fiscal year 2024 and $102,612
in fiscal year 2023. These contributions represent more than five percent of the total contributions made into the Plan. For the
years beginning January 1, 2024 and 2023, the Plan was in the &#8220;green zone&#8221; which means it is neither endangered nor
critical status. In the last quarter of the current fiscal year, the Company notified the third-party administrator of the IBEW
Local 1799 Pension Fund of its intention to withdraw permanently from the plan effective June 16, 2024. As required by the Employee
Retirement Income Security Act &#8220;ERISA&#8221;, the Company is subject to a termination withdrawal liability. At June 30, 2024,
the Company recorded a termination withdrawal obligation totaling $772,157, based on calculated amounts provided by a third party
actuary retained by the Pension Fund. The outstanding amount is shown within the accounts payable balance on the Company&#8217;s
balance sheet at June 30, 2024. An initial withdrawal liability contribution payment to the Plan totaling $210,305 was made during
July 2024. The remaining liability of $561,852 is expected to be paid in the second half of fiscal 2025. As the Company was the only
remaining contributing employer to the multiemployer pension plan, its withdrawal constitutes a mass withdrawal termination. Final
withdrawal calculations are contingent upon the availability of January 1, 2025 assets and the finalization of December 31, 2024
liabilities as the withdrawal liability will need to be re-determined based on a December 31, 2024 measurement date. The Company
does not expect future adjustments to the established liability to have a material impact on the Company&#8217;s financial
statements. The cost of the withdrawal liability obligation is recorded in indirect overhead product costs, capitalized in inventory
and expensed through cost of sales based on shipments.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company is obligated to make contributions
to the National Electrical Benefit Fund (NEBF) (Plan identifying number is 53-0181657). The Plan is a defined pension benefit plan covering
eligible union employees.&#160;Such contributions and expenses amounted to $79,429 in fiscal year 2024 and $72,350 in fiscal year 2023.
The contribution did not and will not in the future have a material impact on the Company&#8217;s financial statements.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company sponsors a 401(k) plan for non-union
workers with employee and employer matching contributions. The employer match is 10% of the employee contribution and was $60,301 and
$53,768, for fiscal years 2024 and 2023, 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_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_PensionAndOtherPostretirementBenefitsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 retirement benefits.</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 715<br> -SubTopic 70<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480794/715-70-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480482/715-20-55-17<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (q)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (l)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/715/tableOfContent<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (o)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (p)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480126/715-20-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480266/715-60-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_PensionAndOtherPostretirementBenefitsDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>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.3</span><table class="report" border="0" cellspacing="2" id="idm46621638433232">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Provision for Income Taxes<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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>Provision for Income Taxes [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Provision for Income Taxes</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Note 8. Provision for Income Taxes</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">A summary of the components of the provision for
income taxes for the years ended June 30, 2024 and 2023 is as follows:</p>

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

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left">Current tax expense - federal</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">2,515,865</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">1,059,743</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left">Current tax (benefit) expense - state</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(3,010</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">9,595</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Deferred tax benefit</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1,032,981</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(40,002</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 30pt; text-align: left; padding-bottom: 2.5pt">Provision for income taxes</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1,479,874</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1,029,336</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Deferred income taxes reflect the impact of "temporary
differences" between the amount of assets and liabilities for financial reporting purposes and such amounts measured by tax laws
and regulations. These "temporary differences" are determined in accordance with ASC 740-10.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The combined U.S. federal and state effective
income tax rates of 20.3% and 21.9%, for 2024 and 2023 respectively, differed from the statutory U.S. federal income tax rate for the
following reasons:</p>

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

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left">U.S. federal statutory income tax rate</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">21.0%</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">21.0%</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left">Increase (reduction) in rate resulting from:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">State franchise tax, net of federal income tax benefit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-17">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.2</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-align: left">ESOP cost versus Fair Market Value</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.1</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(0.2</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Dividend on allocated ESOP shares</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(0.3</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-18">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-align: left">Stock-based compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.2</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1.0</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; padding-bottom: 1pt">Other</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(0.7</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(0.1</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left; padding-bottom: 2.5pt">Effective tax rate</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">20.3%</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">21.9%</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">For the years ended June 30, 2024 and 2023 deferred
income tax benefit of $1,032,981 and $40,002, respectively, results from the changes in temporary differences for each year. The tax effects
of temporary differences that give rise to deferred tax assets and deferred tax liabilities as of June 30, 2024 and 2023 are presented
as follows:</p>

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

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deferred tax assets:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; width: 74%; text-align: left">Accrued expenses</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">138,158</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">273,059</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt">ESOP</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">32,698</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">24,407</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-indent: -10pt; padding-left: 30pt; text-align: left">Property, plant and equipment - principally due to differences in depreciation methods</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">601,358</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-19">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Pension Withdrawal</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">162,153</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-20">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt">Stock-based compensation</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">39,724</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">36,552</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 60pt; text-align: left; padding-bottom: 1pt">Total deferred tax assets </td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">974,091</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">334,018</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deferred tax liability:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-indent: -10pt; padding-left: 30pt; text-align: left">Property, plant and equipment - principally due to differences in depreciation methods</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-21">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">337,501</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Inventory - effect of uniform capitalization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">33,817</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">99,215</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt">Prepaid expenses</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">45,120</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">35,129</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 60pt; text-align: left; padding-bottom: 1pt">Total deferred tax liability</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">78,937</td><td style="padding-bottom: 1pt; white-space: nowrap; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">471,845</td><td style="padding-bottom: 1pt; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Net deferred tax asset (liability)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">895,154</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(137,827</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">)</td></tr>
  </table><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1.5in">&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In assessing the realization of deferred tax assets,
management considers whether it is more likely than not that some portion or all of the deferred tax assets will be realized. The ultimate
realization of deferred tax assets is dependent upon the generation of future taxable income during the periods in which those temporary
differences become deductible. Management considers the scheduled reversal of deferred tax liabilities, projected future taxable income,
and tax planning strategies in making this assessment. Based upon the level of historical taxable income and projection for future taxable
income over the period in which the deferred tax assets are deductible, management believes it is more likely than not that the Company
will realize the benefits of these temporary differences without consideration of a valuation allowance.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">As the result of the implementation of the FASB
interpretation No. 48 (&#8220;FIN 48&#8221;), Accounting for Uncertainty in Income Taxes &#8211; An Interpretation of FASB Statement No.
109, the Company recognized no material adjustments to unrecognized tax benefits. As of June 30, 2024 and 2023, the Company has no unrecognized
tax benefits.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company recognizes interest and penalties
in general and administrative expense. As of June 30, 2024 and 2023, the Company has not recorded any provision for accrued interest and
penalties.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company is subject to taxation in the United
States and various state jurisdictions. The federal tax returns are subject to audit for three years from date of filing unless the return
was audited within that period. In general the majority of state statutes follow similar guidelines. As such, the Company&#8217;s tax
returns for tax years ending June 30, 2024, 2023, and 2022 remain open to examination by the respective taxing authorities.</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 tax.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<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 12C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12C<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 12B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12B<br><br>Reference 5: 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/2147477891/740-270-50-1<br><br>Reference 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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 12: 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 13: 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 14: 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>32
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621632984912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Significant Customers<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_ConcentrationRisksTypesNoConcentrationPercentageAbstract', window );"><strong>Significant Customers [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_esp_SignificantCustomersTextBlock', window );">Significant Customers</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -0.75in">Note 9. Significant
Customers</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">A significant portion of the Company's business
is the production of military and industrial electronic equipment for use by the U.S. and foreign governments and certain industrial customers.
Sales to five domestic customers accounted for 81% of total sales in 2024. Sales to five domestic customers accounted for 81% of total
sales in 2023. Orders from significant customers may include more than one program and procurement may originate from various divisions
of the significant customer. The related accounts receivable balance, as a percentage of the Company's total trade accounts receivable
balance, was 79% represented by five customers at June 30, 2024 and 81% represented by five customers at June 30, 2023.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Export shipments in fiscal years 2024 and 2023
were $2,350,087 and $549,510, 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_esp_SignificantCustomersTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 disclosure for revenues in the period from one or more significant customers.</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;">esp_SignificantCustomersTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr: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_ConcentrationRisksTypesNoConcentrationPercentageAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConcentrationRisksTypesNoConcentrationPercentageAbstract</td>
</tr>
<tr>
<td style="padding-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>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.3</span><table class="report" border="0" cellspacing="2" id="idm46621735319824">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Employee Stock Ownership Plan<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_SharesHeldInEmployeeStockOwnershipPlanAbstract', window );"><strong>Employee Stock Ownership Plan [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_esp_EmployeeStockOwnershipPlanTextBlock', window );">Employee Stock Ownership Plan</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Note 10. Employee Stock Ownership Plan</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company sponsors a leveraged employee stock
ownership plan (the "ESOP") that covers all nonunion employees who work 1,000 or more hours per year and are employed on June
30. The Company makes annual contributions to the ESOP equal to the ESOP's debt service less dividends on unallocated shares received
by the ESOP. All dividends on unallocated shares received by the ESOP are used to pay debt service. Dividends on allocated ESOP shares
are recorded as a reduction of retained earnings. As the debt is repaid, shares are released and allocated to active employees, based
on the proportion of debt service paid in the year. The Company accounts for its ESOP in accordance with FASB ASC 718-40. Accordingly,
the shares purchased by the ESOP are reported as Unearned ESOP Shares in the statement of financial position. As shares are released
or committed-to-be-released, the Company reports compensation expense equal to the current average market price of the shares, and the
shares become outstanding for earnings-per-share (EPS) computations. The ESOP borrowed from the Corporation an amount equal to the purchase
price.&#160;The loan will be repaid in fifteen (15) equal annual installments of principal commencing June 2021.&#160;The Board of Directors
has fixed the interest rate and the unpaid balance will bear interest at a fixed rate of 3.00% per annum. ESOP compensation expense was
$438,136 and $365,646 for the years ended June 30, 2024 and 2023, respectively.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0in">The ESOP shares as of June 30,
2024 and 2023 were as follows:</p>

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

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-indent: 0in">Allocated shares</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">451,132</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">484,958</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-bottom: 1pt">Unearned shares</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">211,487</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">233,645</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total shares held by the ESOP</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">662,619</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">718,603</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-bottom: 2.5pt">Fair value of unearned shares</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">4,494,099</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">3,913,554</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company may at times be required to repurchase
shares at the ESOP participants&#8217; request at the fair market value. During the years ended June 30, 2024 and 2023, the Company
did not repurchase shares previously held by the ESOP.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The ESOP allows for eligible participants to take
whole share distributions from the plan on specific dates in accordance with the provision of the plan. Share distributions from the ESOP
during the years ended June 30, 2024 and 2023 totaled 55,984 shares and 33,780 shares, 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_esp_EmployeeStockOwnershipPlanTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 employee stock ownership plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">esp_EmployeeStockOwnershipPlanTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr: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_SharesHeldInEmployeeStockOwnershipPlanAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SharesHeldInEmployeeStockOwnershipPlanAbstract</td>
</tr>
<tr>
<td style="padding-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>34
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621632725520">
<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">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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 [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">Stock-based Compensation</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0in">Note 11. Stock-based Compensation</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company follows ASC 718 in establishing standards
for the accounting for transactions in which an entity exchanges its equity instruments for goods or services, as well as transactions
in which an entity incurs liabilities in exchange for goods or services that are based on the fair value of the entity&#8217;s equity
instruments or that may be settled by the issuance of those equity instruments. ASC 718 requires that the cost resulting from all share-based
payment transactions be recognized in the financial statements based on the fair value of the share-based payment. ASC 718 establishes
fair value as the measurement objective in accounting for share-based payment transactions with employees, except for equity instruments
held by employee share ownership plans. Included as a reduction to the cost recognized for share-based payments is an estimate for option
forfeitures. It is the Company&#8217;s policy to estimate expected option forfeitures based on historical experience. Actual forfeitures
are adjusted prior to the vesting date if the impact is material.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Total stock-based compensation expense recognized
in the statements of comprehensive income for the fiscal years ended June 30, 2024 and 2023, was $283,673 and $227,132, respectively,
before income taxes. The amount of this stock-based compensation expense related to non-qualified stock options (&#8220;NQSOs&#8221;)
for the fiscal years ended June 30, 2024 and 2023, was $34,903 and $21,432, respectively. The deferred tax benefit related to the NQSOs
as of June 30, 2024 and 2023 was approximately $7,330 and $4,501, respectively. The remaining stock option expense, in each year, related
to incentive stock options (&#8220;ISOs&#8221;) which are not deductible by the corporation when exercised, assuming a qualifying disposition
and as such no deferred tax benefit was established related to these amounts.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">As of June 30, 2024, there was approximately
$204,765 of unrecognized compensation cost related to stock option awards that is expected to be recognized as expense over the next
1.75 years, of which $181,955 relates to ISOs and $22,809 relates to NQSOs. The total deferred tax benefit related to the NQSOs in
future years will be $4,790.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company has one employee stock option plan
under which options or stock awards may be granted, the 2017 Stock Option and Restricted Stock Plan (the "2017 Plan"), approved
by the Company's shareholders at the Company's Annual Meeting on December 1, 2017. The Board of Directors may grant options to acquire
shares of common stock to employees and non-employee directors of the Company at the fair market value of the common stock on the date
of grant. The maximum aggregate number of shares of common stock subject to options or awards to non-employee directors is 133,000 and
the maximum aggregate number of shares of common stock subject to options or awards granted to non-employee directors during any single
fiscal year is the lesser of 13,300 and <span style="-sec-ix-hidden: hidden-fact-23">33 1/3%</span> of the total number of shares subject to options or awards granted in such fiscal year.
The maximum number of shares subject to options or awards granted to any individual employee may not exceed 15,000 in a fiscal year. Generally,
options granted have a two-year vesting period based on two years of
continuous service and have a ten-year contractual life. Option grants provide for accelerated vesting if there is a change in control.
Shares issued upon the exercise of options are from those held in Treasury. </p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Options covering 400,000 shares are authorized for issuance
under the 2017 Plan. As of June 30, 2024, options covering 31,325 shares have been exercised, options covering 287,706 shares are outstanding
and options covering 143,973 shares have been cancelled. As of June 30, 2024, options covering 80,969 shares remain available for grant,
after factoring the cancelled shares, which are eligible to be re-granted. While no further grants of options may be made under the Company&#8217;s
2007 Stock Option and Restricted Stock Plan, as of June 30, 2024, 34,350 options were outstanding under such plan of which all are vested
and exercisable.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">ASC 718 requires the use of a valuation model
to calculate the fair value of stock-based awards. The Company has elected to use the Black-Scholes option valuation model, which incorporates
various assumptions including those for volatility, expected life, and interest rates.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The table below outlines the weighted average
assumptions that the Company used to calculate the fair value of each option award for the years ended June 30, 2024 and 2023.</p>

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

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left; text-indent: 0in">Dividend yield</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">3.61%</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">0.03%</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left">Expected stock price volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">31.21%</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">27.20%</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Risk-free interest rate</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4.39%</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2.71%</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left">Expected option life (in years)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5.3yrs</td><td style="white-space: nowrap; text-align: left"></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5.4yrs</td><td style="white-space: nowrap; text-align: left"></td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Weighted average fair value per share of options granted during the period</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">4.11</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">4.18</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Effective March 13, 2023, the Company reinstated
payment of a quarterly dividend. The Company paid regular cash dividends on common stock of $0.675 per share for the fiscal year ended
June 30, 2024 and paid regular cash dividends on common stock of $0.20 per share for the fiscal year ended June 30, 2023. Expected stock
price volatility is based on the historical volatility of the Company&#8217;s stock. The risk-free interest rate is based on the implied
yield available on U.S. Treasury issues with an equivalent term approximating the expected life of the options. The expected option term
(in years) represents the estimated period of time until exercise and is based on actual historical experience.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The following table summarizes stock option activity
during the year ended June 30, 2024:</p>

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

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td colspan="15" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Employee Stock Option Plans</td></tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Weighted</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td></tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Number of</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Weighted</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Average</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td></tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Shares</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Average</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Remaining</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Aggregate</td></tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Subject</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Exercise</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Contractual</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Intrinsic</td></tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap">&#160;</td><td style="text-align: center; border-bottom: Black 1pt solid; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">to Option</td><td style="text-align: center; border-bottom: Black 1pt solid; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Price</td><td style="text-align: center; border-bottom: Black 1pt solid; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Term</td><td style="text-align: center; border-bottom: Black 1pt solid; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Value</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 48%">Balance at July 1, 2023</td><td style="width: 3%">&#160;</td> <td style="width: 1%; text-align: left">&#160;</td><td style="width: 8%; text-align: right">296,331</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 3%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 8%; text-align: right">19.15</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 3%">&#160;</td> <td style="width: 1%; text-align: left">&#160;</td><td style="width: 8%; text-align: right">6.49</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 3%">&#160;</td> <td style="width: 1%; text-align: left">&#160;</td><td style="width: 8%; text-align: right"><div style="-sec-ix-hidden: hidden-fact-22">&#160;</div></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; "> <td>Granted</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">80,900</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right">16.78</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">9.22</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Exercised</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">(31,325</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right">16.80</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; "> <td style="text-align: left; padding-bottom: 1pt">Forfeited or expired</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(23,850</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">24.30</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 2.5pt">Outstanding at June 30, 2024</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">322,056</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">18.41</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">6.59</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1,259,317</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; "> <td style="text-align: left; padding-bottom: 2.5pt">Vested or expected to vest at June 30, 2024</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">313,205</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">18.45</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">6.52</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1,212,613</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 2.5pt">Exercisable at June 30, 2024</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">174,756</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">20.98</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">4.83</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">382,667</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td></tr> </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The aggregate intrinsic value in the table above
represents the total pretax intrinsic value (the difference between the closing sale price of the Company&#8217;s common stock as reported
on the NYSE American on June 30, 2024 and the exercise price, multiplied by the number of in-the-money options) that would have been
received by the option holders if all option holders had exercised their options on June 30, 2024. This amount changes based on the fair
market value of the Company&#8217;s common stock. </p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The total
intrinsic values of the options exercised during the twelve months ended June 30, 2024 and 2023 was $195,236 and $0, respectively.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The following table summarizes changes in non-vested stock options
during the year ended June 30, 2024:</p>

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

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center">Weighted Number</td><td>&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center">Average</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center">of Shares</td><td>&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center">Grant Date</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center">Subject</td><td>&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center">Fair Value</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">to Option</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">(per Option)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%">Non-vested at July 1, 2023</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">132,600</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">3.98</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td>Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">80,900</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">4.11</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Vested</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(60,700</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">3.74</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left; padding-bottom: 1pt">Forfeited or expired</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(5,500</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">4.04</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Non-vested at June 30, 2024</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">147,300</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">4.15</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>35
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621735332720">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Concentration of Credit Risk<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_RisksAndUncertaintiesAbstract', window );"><strong>Concentration of Credit Risk [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskDisclosureTextBlock', window );">Concentration of Credit Risk</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Note 12. Concentration of Credit Risk</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Financial instruments that potentially subject
the Company to concentrations of credit risk consist principally of cash and cash equivalents, short-term investments and accounts receivable.
The Company maintains cash and cash equivalents with various financial institutions. At times such investments may be in excess of FDIC
insurance limits. As disclosed in Note 9, a significant portion of the Company's business is the production of military and industrial
electronic equipment for use by the U.S. and foreign governments and certain industrial customers. The related accounts receivable balance,
as a percentage of the Company's total trade accounts receivable balance, was 79% represented by five customers at June 30, 2024 and 81%
represented by five customers at June 30, 2023.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Although the Company's exposure to credit
risk associated with nonpayment of these concentrated balances is affected by the conditions or occurrences within the U.S. and
foreign governments, the Company believes that its trade accounts receivable credit risk exposure is limited. The Company performs
ongoing credit evaluations of its customer's financial conditions and requires collateral, such as progress payments, in certain
circumstances. The Company establishes an allowance for credit losses based upon factors surrounding the credit risk of specific
customers, historical trends and other information.</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_ConcentrationRiskDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 any concentrations existing at the date of the financial statements that make an entity vulnerable to a reasonably possible, near-term, severe impact. This disclosure informs financial statement users about the general nature of the risk associated with the concentration, and may indicate the percentage of concentration risk as of the balance sheet date.</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 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_ConcentrationRiskDisclosureTextBlock</td>
</tr>
<tr>
<td style="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_RisksAndUncertaintiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RisksAndUncertaintiesAbstract</td>
</tr>
<tr>
<td style="padding-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>36
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621733601984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Related Parties<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_RelatedPartyTransactionsAbstract', window );"><strong>Related Parties [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsDisclosureTextBlock', window );">Related Parties</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Note 13. Related Parties</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The administration of the shares of common stock
held by the ESOP Trust is subject to the Espey Mfg. &amp; Electronics Corp. Employee Retirement Plan and Trust (ESOP) and a Trust Agreement,
each effective as of July 1, 2016. The Trustees&#8217; rights with respect to the disposition of shares are governed by the terms of the
Plan and the Trust Agreement. As to shares that have been allocated to the accounts of participants in the ESOP Trust, the Plan provides
that the Trustees are required to vote such shares in accordance with instructions received from the participants. As to unallocated shares
and allocated shares for which voting instructions have not been received from participants, the Plan provides that the Trustees are required
to vote such shares in accordance with the direction of the Board of Directors of the Company under the terms of the Plan and Trust Agreement,
which is currently in the same proportion as the instructions received on the allocated shares. See Note 10 for additional information
regarding the ESOP.</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_RelatedPartyTransactionsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RelatedPartyTransactionsAbstract</td>
</tr>
<tr>
<td style="padding-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_RelatedPartyTransactionsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.</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 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-6<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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477968/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 (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477968/946-235-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483326/850-10-50-1<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 1<br> -Subparagraph (SX 210.6-07(2)(g)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 8: 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(2)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 9: 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(2)(e))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/850/tableOfContent<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483326/850-10-50-6<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<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/2147483326/850-10-50-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<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/2147483326/850-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_RelatedPartyTransactionsDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>37
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621733631632">
<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">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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 [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Commitments and Contingencies</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -0.75in">Note 14. Commitments
and Contingencies</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company at certain times enters into
standby letters of credit agreements with financial institutions primarily relating to the guarantee of future performance on
certain contracts. Contingent liabilities on outstanding standby letters of credit agreements aggregated to zero at June 30, 2024
and 2023. The Company, as a U.S. Government contractor, is subject to audits, reviews, and investigations by the U.S. Government
related to its negotiation and performance of government contracts and its accounting for such contracts. Failure to comply with
applicable U.S. Government standards by a contractor may result in suspension from eligibility for award of any new government
contract and a guilty plea or conviction may result in debarment from eligibility for awards. </p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -0.75in">&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The government may, in certain cases, also terminate existing contracts, recover damages, and
impose other sanctions and penalties. As a result of contract audits the Company will determine a range of possible outcomes and in accordance
with ASC 450 &#8220;Contingencies&#8221; the Company will accrue amounts within a range that appears to be its best estimate of a possible
outcome. Adjustments are made to accruals, if any, periodically based on current information.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We are party to various litigation matters and
claims arising from time to time in the ordinary course of business.&#160;While the results of such matters cannot be predicted with certainty,
we believe that the final outcome of such matters will not have a material adverse effect on our business, financial condition, results
of operations or cash flows. Currently, there are no matters pending.</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/2009/role/commonPracticeRef<br> -Topic 405<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/405-30/tableOfContent<br><br>Reference 2: 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 3: 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 4: 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/2147478522/954-440-50-1<br><br>Reference 5: 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 6: 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>38
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621638461664">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_StockholdersEquityNoteAbstract', window );"><strong>Stockholders' Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock', window );">Stockholders' Equity</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Note 15. Stockholders' Equity</p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company has reserved common shares for future
issuance as follows as of June 30, 2024:</p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 84%; text-align: left">Stock options outstanding</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">322,056</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left; padding-bottom: 1pt">Stock options available for issuance</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">80,969</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Number of common shares reserved</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">403,025</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The following table sets forth the reconciliation
of the numerators and denominators of the basic and diluted earnings per share computations for continuing operations for the years ended
June 30:</p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Numerator:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="width: 72%; text-align: left; padding-bottom: 2.5pt">Net income</td><td style="width: 2%; padding-bottom: 2.5pt">&#160;</td>
    <td style="width: 1%; border-bottom: Black 2.5pt double; text-align: left">$</td><td style="width: 10%; border-bottom: Black 2.5pt double; text-align: right">5,815,140</td><td style="white-space: nowrap; width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 2.5pt">&#160;</td>
    <td style="width: 1%; border-bottom: Black 2.5pt double; text-align: left">$</td><td style="width: 10%; border-bottom: Black 2.5pt double; text-align: right">3,677,131</td><td style="white-space: nowrap; width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Denominator:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Basic EPS:</td><td style="font-family: Courier New, Courier, Monospace">&#160;</td>
    <td style="font-family: Courier New, Courier, Monospace; text-align: left">&#160;</td><td style="font-family: Courier New, Courier, Monospace; text-align: right">&#160;</td><td style="white-space: nowrap; font-family: Courier New, Courier, Monospace; text-align: left">&#160;</td><td style="font-family: Courier New, Courier, Monospace">&#160;</td>
    <td style="font-family: Courier New, Courier, Monospace; text-align: left">&#160;</td><td style="font-family: Courier New, Courier, Monospace; text-align: right">&#160;</td><td style="white-space: nowrap; font-family: Courier New, Courier, Monospace; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-align: left">Common shares outstanding, beginning of period</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,702,633</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,702,633</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt">Unearned ESOP shares</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(233,645</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(256,293</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt">Weighted average common shares issued during the period</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,837</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-24">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; padding-bottom: 1pt">Weighted average ESOP shares earned during the period</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">8,340</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">8,516</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-align: left">Denominator for basic earnings per common shares &#8211;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 40pt; padding-bottom: 2.5pt">Weighted average common shares</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">2,489,165</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">2,454,856</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Diluted EPS:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt">Common shares outstanding, beginning of period</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,702,633</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,702,633</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt">Unearned ESOP shares</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(233,645</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(256,293</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt">Weighted average common shares issued during the period</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,837</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-25">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt">Weighted average ESOP shares earned during the period</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,340</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,516</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; padding-bottom: 1pt">Weighted average dilutive effect of stock options</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">47,802</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">16,160</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Denominator for diluted earnings per common shares &#8211;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 40pt; padding-bottom: 2.5pt">Weighted average common shares</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">2,536,967</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">2,471,016</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Not included in this computation of earnings per
share for the year ended June 30, 2024 and 2023 were options to purchase 62,691 and 130,656 shares, respectively, of the Company&#8217;s
common stock. These options were excluded because their inclusion would have been anti-dilutive due to the average strike price exceeding
the average market price of those shares.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Effective March 13, 2023, the Company reinstated
payment of a quarterly dividend. The Company paid regular cash dividends on common stock of $0.675 per share for the fiscal year ended
June 30, 2024 and paid regular cash dividends on common stock of $0.20 per share for the fiscal year ended June 30, 2023. Our Board of
Directors assesses the Company&#8217;s dividend policy periodically. There is no assurance that the Board of Directors will maintain the
amount of the regular cash dividend during any future years.</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_StockholdersEquityNoteAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StockholdersEquityNoteAbstract</td>
</tr>
<tr>
<td style="padding-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/2147477968/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/2147477968/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/2147478448/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>39
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621633068976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Line of Credit<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_LineOfCreditFacilityAbstract', window );"><strong>Line of Credit [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_esp_LineOfCreditTextBlock', window );">Line of Credit</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Note 16. Line of Credit</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">At June 30, 2024, the Company has an uncommitted
and unused Line of Credit with a financial institution. The agreement provides that the Company may borrow up to $3,000,000. The line
provides for interest payments equal to the SOFR Daily Floating Rate plus 2 percentage points. Any borrowing under the line of credit
will be collateralized by accounts receivable. All outstanding balances are payable no later than the expiration date of the agreement,
unless other terms are agreed to by the lender. The existing line of credit expires February 28, 2025. The Company did not borrow any
funds during the last two fiscal years.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_esp_LineOfCreditTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">esp_LineOfCreditTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr: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_LineOfCreditFacilityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LineOfCreditFacilityAbstract</td>
</tr>
<tr>
<td style="padding-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>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.3</span><table class="report" border="0" cellspacing="2" id="idm46621735330912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Quarterly Financial Information (Unaudited)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_QuarterlyFinancialInformationDisclosureAbstract', window );"><strong>Quarterly Financial Information (Unaudited) [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_QuarterlyFinancialInformationTextBlock', window );">Quarterly Financial Information (Unaudited)</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Note 17. Quarterly Financial Information (Unaudited)</p>

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

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap">&#160;</td><td>&#160;</td> <td colspan="2" style="white-space: nowrap; text-align: right">First</td><td>&#160;</td><td>&#160;</td> <td colspan="2" style="white-space: nowrap; text-align: right">Second</td><td>&#160;</td><td>&#160;</td> <td colspan="2" style="white-space: nowrap; text-align: right">Third</td><td>&#160;</td><td>&#160;</td> <td colspan="2" style="white-space: nowrap; text-align: right">Fourth</td><td>&#160;</td></tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-weight: bold">2024</td><td style="padding-bottom: 1pt">&#160;</td> <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Quarter</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td> <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Quarter</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td> <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Quarter</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td> <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Quarter</td><td style="padding-bottom: 1pt">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 44%; text-align: left">Net sales</td><td style="width: 2%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">8,568,214</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">10,302,541</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">8,254,653</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">11,610,911</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; "> <td style="padding-left: 30pt; text-align: left">Gross profit</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">2,245,377</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">3,142,575</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">2,064,191</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">3,200,917</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 30pt; text-align: left">Net income</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">1,094,544</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">1,795,370</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">1,031,930</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">1,893,296</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; "> <td>Net income per share -</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 10pt">Basic</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">0.44</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">0.73</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">0.41</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">0.76</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; "> <td style="padding-left: 10pt">Diluted</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">0.44</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">0.72</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">0.40</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">0.73</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; "> <td style="vertical-align: bottom; font-weight: bold; text-align: left">2023</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Net sales</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right">8,635,795</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right">8,804,109</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right">9,809,616</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right">8,342,803</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; "> <td style="padding-left: 30pt; text-align: left">Gross profit</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">1,812,142</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">2,260,722</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">1,973,429</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">2,004,245</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 30pt; text-align: left">Net income</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">768,266</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">1,146,042</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">867,288</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">895,535</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; "> <td>Net income per share -</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 10pt">Basic</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">0.31</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">0.47</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">0.35</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">0.37</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; "> <td style="padding-left: 10pt">Diluted</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">0.31</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">0.47</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">0.35</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">0.36</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_QuarterlyFinancialInformationDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_QuarterlyFinancialInformationDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_QuarterlyFinancialInformationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 quarterly financial data. Includes, but is not limited to, tabular presentation of financial information for fiscal quarters, effect of year-end adjustments, and an explanation of matters or transactions that affect comparability of the 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 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 270<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/270/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_QuarterlyFinancialInformationTextBlock</td>
</tr>
<tr>
<td style="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>41
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621797746864">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pay vs Performance Disclosure - USD ($)<br></strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Sep. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Sep. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 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_ecd_PvpTable', window );"><strong>Pay vs Performance Disclosure</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>
<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 (Loss)</a></td>
<td class="nump">$ 1,893,296<span></span>
</td>
<td class="nump">$ 1,031,930<span></span>
</td>
<td class="nump">$ 1,795,370<span></span>
</td>
<td class="nump">$ 1,094,544<span></span>
</td>
<td class="nump">$ 895,535<span></span>
</td>
<td class="nump">$ 867,288<span></span>
</td>
<td class="nump">$ 1,146,042<span></span>
</td>
<td class="nump">$ 768,266<span></span>
</td>
<td class="nump">$ 5,815,140<span></span>
</td>
<td class="nump">$ 3,677,131<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_PvpTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 402<br> -Subsection v<br> -Paragraph 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;">ecd_PvpTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<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 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: 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 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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 12: 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 13: 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 14: 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 15: 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 16: 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 17: 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/2147479168/946-830-55-10<br><br>Reference 18: 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/2147479105/946-220-45-7<br><br>Reference 19: 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/2147477250/944-220-S99-1<br><br>Reference 20: 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/2147479134/946-220-S99-1<br><br>Reference 21: 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/2147479134/946-220-S99-3<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)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: 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 24: 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 25: 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 26: 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 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)(i))<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)(4)(iii)(A))<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 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 30: 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 31: 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 32: 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 33: 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 34: 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 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://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/2147478524/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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621632702976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Insider Trading Arrangements<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_ecd_TradingArrByIndTable', window );"><strong>Trading Arrangements, by Individual</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_ecd_Rule10b51ArrAdoptedFlag', window );">Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<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_ecd_NonRule10b51ArrAdoptedFlag', window );">Non-Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<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_ecd_Rule10b51ArrTrmntdFlag', window );">Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<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_ecd_NonRule10b51ArrTrmntdFlag', window );">Non-Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 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;">ecd_NonRule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</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_ecd_NonRule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 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;">ecd_NonRule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</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_ecd_Rule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 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;">ecd_Rule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</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_ecd_Rule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 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;">ecd_Rule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</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_ecd_TradingArrByIndTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph 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;">ecd_TradingArrByIndTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</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>43
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621636862320">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounting Policies, by Policy (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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>Summary of Significant Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock', window );">Revenue</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Revenue</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The majority of our sales are generated from military
contracts from defense companies, the Department of Defense, other agencies of the government of the United States and foreign governments,
for the design and development and/or manufacture of products. Sales are also generated from industrial manufacturers for similar services.
We provide our products and design and development services under fixed-price contracts. Under fixed-price contracts we agree to perform
the specified work for a pre-determined price. To the extent our actual costs vary from the estimates upon which the price was negotiated,
we will generate more or less profit or could incur a loss.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We account for a contract with a customer after
it has been approved by all parties to the arrangement, the rights of the parties are identified, payment terms are identified, the contract
has commercial substance, and collection of substantially all of the amount to which the entity will be entitled in exchange for the goods
or services that will be transferred to the customer is probable. We assess each contract at its inception to determine whether it should
be combined with other contracts. When making this determination, we consider factors such as whether two or more contracts were negotiated
and executed at or near the same time, or were negotiated with an overall profit objective.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We evaluate the products or services promised
in each contract at inception to determine whether the contract should be accounted for as having one or more performance obligations.
Significant judgment is required in determining performance obligations. We determine the transaction price for each contract based on
the consideration we expect to receive for the products or services being provided under the contract. The transaction price for each
performance obligation is based on the estimated standalone selling price of the product or service underlying each performance obligation.
Transaction prices on our contracts subject to the Federal Acquisition Regulations (FAR) are typically based on estimated costs plus a
reasonable profit margin.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We recognize revenue using the output method based
on the appraisal of results achieved and milestones reached or units delivered based on contractual shipment terms, typically shipping
point.</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_InventoryPolicyTextBlock', window );">Inventory</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Inventory</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Raw materials are valued at the lower of cost
(average cost) or net realizable value. Balances for slow-moving and obsolete inventory are reviewed on a regular basis by analyzing estimated
demand, inventory on hand, sales levels, market conditions, and other information and reduce inventory balances based on this analysis.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Inventory relating to contracts in process and
work in process is valued at cost, including factory overhead incurred to date. Contract costs include material, subcontract costs, labor,
and an allocation of overhead costs. Work in process represents spare units and parts and other inventory items acquired or produced to
service units previously sold or to meet anticipated future orders. Provision for losses on contracts is made when the existence of such
losses becomes probable and estimable.&#160;The provision for losses on contracts is included in other accrued expenses on the Company&#8217;s
balance sheet.&#160;The costs attributed to units delivered under contracts are based on the estimated average cost of all units expected
to be produced.&#160; Certain contracts are expected to extend beyond twelve months.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The estimation of total cost at completion of
a contract is subject to numerous variables involving contract costs and estimates as to the length of time to complete the contract.&#160;Given
the significance of the estimation processes and judgments described above, it is possible that materially different amounts of expected
sales and contract costs could be recorded if different assumptions were used, based on changes in circumstances, in the estimation process.&#160;When
a change in expected sales value or estimated cost is determined, the change is reflected in current period earnings.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><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_esp_ContractLiabilitiesPolicyTextBlock', window );">Contract Liabilities</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Contract Liabilities</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Contract liabilities include advance payments
and billings in excess of revenue recognized.</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_DepreciationDepletionAndAmortizationPolicyTextBlock', window );">Depreciation</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Depreciation</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Depreciation of plant and equipment is computed
on a straight-line basis over the estimated useful lives of the assets.&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Estimated useful lives of depreciable assets are
as follows:</p><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 80%; border-collapse: collapse; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="width: 50%; text-align: justify">Buildings and improvements </td>
    <td style="width: 50%; text-align: right">10 &#8211; 50 years</td></tr>
  <tr style="vertical-align: top; ">
    <td style="text-align: justify">Machinery and equipment</td>
    <td style="text-align: right">3 &#8211; 20 years</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Furniture and fixtures</td>
    <td style="text-align: right">7 &#8211; 10 years</td></tr>
  </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_IncomeTaxPolicyTextBlock', window );">Income Taxes</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Income Taxes</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company follows the provisions of Accounting
Standards Codification (&#8220;ASC&#8221;) Topic 740-10, "Accounting for Income Taxes."</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Under the provisions of ASC 740-10, deferred tax
assets and liabilities are recognized for the future tax consequences attributable to differences between the financial statement carrying
amounts of existing assets and liabilities and their respective tax bases.&#160;Deferred tax assets and liabilities are measured using
enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or
settled.&#160;The effect on deferred taxes and liabilities of a change in tax rates is recognized in earnings in the period that includes
the enactment date.</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_CashAndCashEquivalentsPolicyTextBlock', window );">Cash and Cash Equivalents</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Cash and Cash Equivalents</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Cash and cash equivalents consist of cash and
money market funds. The Company considers all highly liquid investments with original maturities of three months or less to be cash equivalents.&#160;</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_InvestmentPolicyTextBlock', window );">Investment Securities</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Investment Securities</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company accounts for its investments in debt
securities in accordance with ASC 320-10-25, &#8220;Accounting for Certain Investments in Debt and Equity Securities.&#8221;&#160;Investments
in debt securities at June 30, 2024 and  2023 consisted of municipal bonds and treasury bills.&#160;The Company classifies investments
in debt securities as available-for-sale. Unrealized holding gains and losses, net of related tax effect, on available-for-sale debt securities
are excluded from earnings and are reported as a separate component of stockholders&#8217; equity until realized.&#160;Realized gains
and losses for debt securities classified as available-for-sale are included in earnings and are determined using the specific identification
method.&#160;Interest income is recognized when earned.&#160;Fair values are based on quoted market prices available as of the balance
sheet date, and are therefore considered a Level 1 valuation.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Certificates of deposit held for investment with
an original maturity greater than three months are carried at amortized cost and reported as short-term investments on the balance sheets.
The type of certificates of deposit that the Company invests in are not considered debt securities under Financial Accounting Standards
Board ("FASB") Accounting Standards Codification (&#8220;ASC&#8221;) 320, Investments - Debt Securities.</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_FairValueOfFinancialInstrumentsPolicy', window );">Fair Value of Financial Instruments</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Fair Value of Financial Instruments</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Accounting Standards Codification (&#8220;ASC&#8221;)
820 establishes a fair value hierarchy which requires an entity to maximize the use of observable inputs and minimize the use of unobservable
inputs when measuring fair value.&#160;The standard describes three levels of inputs that may be used to measure fair value:</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span>&#9726;</span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Level
1: Quoted prices (unadjusted) for identical assets or liabilities in active markets that the entity has the ability to access as of the
measurement date.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span>&#9726;</span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Level
2: Significant other observable inputs other than Level 1 prices such as quoted prices for similar assets or liabilities; quoted prices
in markets that are not active; or other inputs that are observable or can be corroborated by observable market data.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span>&#9726;</span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Level
3: Significant unobservable inputs that reflect a reporting entity&#8217;s own assumptions about the assumptions that market participants
would use in pricing an asset or liability.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The carrying amounts of financial instruments,
including cash and cash equivalents, short term investment securities, accounts receivable, accounts payable and accrued expenses, approximated
fair value as of June 30, 2024 and 2023 because of the immediate or short-term maturity of these financial instruments.&#160;</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_TradeAndOtherAccountsReceivablePolicy', window );">Accounts Receivable and Allowance for Credit Losses</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Accounts Receivable and Allowance for Credit Losses</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company extends credit to its customers in
the normal course of business and collateral is generally not required for trade receivables.&#160;Exposure to credit risk is controlled
through the use of credit approvals, credit limits, and monitoring procedures.&#160;Accounts receivable are reported net of an allowance
for credit losses.&#160;The Company estimates the allowance based on its analysis of historical experience, current economic market conditions,
performance of specific account reviews, and other factored considerations to include, but not limited to, contracts covered by government
funding and the overall health of the industry. Interest is not charged on past due balances. Based on these factors, there was an allowance for credit losses of $3,000 at June 30, 2024 and 2023. Changes to the allowance for credit
losses are charged to expense and reduced by charge-offs, net of recoveries. The opening accounts receivable balance, net of allowance
for credit losses of $3,000, at July 1, 2022 and July 1, 2023 were $5,733,174 and $5,755,282, respectively.</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_EarningsPerSharePolicyTextBlock', window );">Per Share Amounts</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Per Share Amounts</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">ASC 260-10 &#8220;Earnings Per Share (EPS)&#8221;
requires the Company to calculate net income per share based on basic and diluted net income per share, as defined.&#160;Basic EPS excludes
dilution and is computed by dividing net income by the weighted average number of shares outstanding for the period.&#160;Diluted EPS
reflects the potential dilution that could occur if securities or other contracts to issue common stock were exercised or converted into
common stock.&#160;The dilutive effect of outstanding options issued by the Company are reflected in diluted EPS using the treasury stock
method.&#160;Under the treasury stock method, options will only have a dilutive effect when the average market price of common stock during
the period exceeds the exercise price of the options.</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_ComprehensiveIncomePolicyPolicyTextBlock', window );">Comprehensive Income</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Comprehensive Income</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Comprehensive income consists of net income and
other comprehensive income (loss).&#160;Other comprehensive income for fiscal years ended June 30, 2024 and 2023 consists of unrealized
holding gains (losses) on available-for-sale debt securities.&#160;</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 );">Use of Estimates</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Use of Estimates</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The preparation of financial statements in conformity
with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that
affect the reported amount of assets and liabilities and 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. Actual results could differ from those estimates.</p><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_esp_RecentlyAdoptedAccountingStandardsPolicyTextBlock', window );">Recently Adopted Accounting Standards</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Recently Adopted Accounting Standards</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In June 2016, the FASB issued ASU 2016-13, &#8220;Financial
Instruments-Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments&#8221;, <span>which
requires a financial asset measured at amortized cost basis to be presented at the net amount expected to be collected, with further clarifications
made more recently. For trade receivables, loans and other financial instruments, the Company will be required to use a forward-looking
expected loss model rather than the incurred loss model for recognizing credit losses which reflects losses that are probable. </span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Credit losses relating to available-for-sale
debt securities are required to be recorded through an allowance for credit losses rather than as a reduction in the amortized cost basis
of the securities. ASU 2016-13 is effective for public entities for fiscal years beginning after December 15, 2022, including interim
periods within those fiscal years. Upon adoption, the amendments in ASU 2016-13 should be applied on a prospective basis to all periods
presented relating to available-for-sale debt securities. For all other financial instruments the Company upon adoption will apply the
amendments on a modified-retrospective approach. The Company adopted the new guidance under ASU 2016-13 in the first quarter of fiscal
year 2024, and determined that the impact of the adoption on its financial statements is immaterial.</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_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recent Accounting Pronouncements Not Yet Adopted</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Recent Accounting Pronouncements Not Yet Adopted</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span>In December
2023, the FASB issued ASU No. 2023-09, &#8220;Income Taxes (&#8220;Topic 740&#8221;): Improvements to Income Tax Disclosures&#8221;, which includes
amendments that further enhance income tax disclosures through the standardization and disaggregation of rate reconciliation categories
and income taxes paid. ASU 2023-09 is effective for fiscal years beginning after December 15, 2024 and is to be applied prospectively,
with early adoption and retrospective application permitted. We are currently evaluating the impact of this standard to our
financial statements.</span></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_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock', window );">Impairment of Long-Lived Assets</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Impairment of Long-Lived Assets</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Long-lived assets, including property, plant,
and equipment, are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of an asset may
not be recoverable.&#160;Recoverability of assets to be held and used is measured by a comparison of the carrying amount of an asset to
estimated undiscounted future cash flows expected to be generated by the asset.&#160;If the carrying amount of an asset exceeds its estimated
future cash flows, an impairment charge is recognized by the amount by which the carrying amount of the asset exceeds the fair value of
the asset.&#160;There were <span style="-sec-ix-hidden: hidden-fact-10"><span style="-sec-ix-hidden: hidden-fact-11">no</span></span> impairments of long-lived assets in fiscal years 2024 and 2023.&#160;Assets to be disposed of are separately
presented in the balance sheet and reported at the lower of the carrying amount or fair value less costs to sell, and no longer depreciated.&#160;The
assets and liabilities of a disposed group classified as held for sale are presented separately in the appropriate asset and liability
sections of the balance sheet, if applicable.</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 );">Concentrations of Risk</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Concentrations of Risk</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The market for our defense electronics products
is largely dependent on the availability of new contracts from the United States and foreign governments to prime contractors to which
we provide components.&#160;Any decline in expenditures by the United States or foreign governments may have an adverse effect on our
financial performance.&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Generally, U.S. Government contracts are subject
to procurement laws and regulations.&#160;Some of the Company&#8217;s contracts are governed by the Federal Acquisition Regulation (FAR),
which lays out uniform policies and procedures for acquiring goods and services by the U.S. Government, and agency-specific acquisition
regulations that implement or supplement the FAR.&#160;For example, the Department of Defense implements the FAR through the Defense Federal
Acquisition Regulation (DFAR).</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The FAR also contains guidelines and regulations
for managing a contract after award, including conditions under which contracts may be terminated, in whole or in part, at the government&#8217;s
convenience or for default. If a contract is terminated for the convenience of the government, a contractor is entitled to receive payments
for its allowable costs and, in general, the proportionate share of fees or earnings for the work done.&#160;If a contract is terminated
for default, the government generally pays for only the work it has accepted.&#160;These regulations also subject the Company to financial
audits and other reviews by the government of its costs, performance, accounting and general business practices relating to its contracts,
which may result in adjustment of the Company&#8217;s contract-related costs and fees.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_esp_ContractLiabilitiesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 contract 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;">esp_ContractLiabilitiesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr: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_esp_RecentlyAdoptedAccountingStandardsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 recently adopted accounting standards.</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;">esp_RecentlyAdoptedAccountingStandardsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr: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_CashAndCashEquivalentsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates 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 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-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_CashAndCashEquivalentsPolicyTextBlock</td>
</tr>
<tr>
<td style="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_ComprehensiveIncomePolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 comprehensive income.</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_ComprehensiveIncomePolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="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/2147478898/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_DepreciationDepletionAndAmortizationPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 depreciation, depletion, and amortization of property and equipment costs, including methods used and estimated useful lives and how impairment of such assets is assessed and recognized.</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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-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_DepreciationDepletionAndAmortizationPolicyTextBlock</td>
</tr>
<tr>
<td style="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_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<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 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 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-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_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="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_FairValueOfFinancialInstrumentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 determining the fair value of financial instruments.</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 825<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-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_FairValueOfFinancialInstrumentsPolicy</td>
</tr>
<tr>
<td style="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_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible 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 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.CC)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480091/360-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 4<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482338/360-10-05-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_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="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_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-20<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-19<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-25<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<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 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-17<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-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_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="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_InventoryPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.</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(6)(b))<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> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483080/330-10-50-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 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483489/210-10-50-1<br><br>Reference 4: 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 (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 330<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478411/912-330-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/330/tableOfContent<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483080/330-10-50-4<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 270<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482989/270-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="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_InvestmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 investment in financial asset.</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(3)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(f)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(f)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(f)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 12<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-12<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 19<br> -Subparagraph (2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-19<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentPolicyTextBlock</td>
</tr>
<tr>
<td style="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_RevenueFromContractWithCustomerPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 revenue from contract with customer.</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 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-17<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 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-19<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 18<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-18<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 18<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-18<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 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-20<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 20<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-20<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 20<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-20<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 20<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-20<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<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_RevenueFromContractWithCustomerPolicyTextBlock</td>
</tr>
<tr>
<td style="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_TradeAndOtherAccountsReceivablePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 accounts receivable.</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 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-6<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<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/2147481962/310-10-50-2<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481569/310-20-50-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-15<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-11B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TradeAndOtherAccountsReceivablePolicy</td>
</tr>
<tr>
<td style="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>44
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621638477328">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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>Summary of Significant Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_esp_ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock', window );">Schedule of Estimated Useful Lives of Depreciable Assets</a></td>
<td class="text">Estimated useful lives of depreciable assets are
as follows:<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 80%; border-collapse: collapse; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="width: 50%; text-align: justify">Buildings and improvements </td>
    <td style="width: 50%; text-align: right">10 &#8211; 50 years</td></tr>
  <tr style="vertical-align: top; ">
    <td style="text-align: justify">Machinery and equipment</td>
    <td style="text-align: right">3 &#8211; 20 years</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Furniture and fixtures</td>
    <td style="text-align: right">7 &#8211; 10 years</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_esp_ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 estimated useful lives of depreciable assets.</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;">esp_ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr: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>45
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621638495632">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Investment Securities (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_InvestmentsAbstract', window );"><strong>Investment Securities [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock', window );">Schedule of Classifies Investment Securities as Available-for-Sale</a></td>
<td class="text">The cost, gross unrealized gains, gross unrealized losses and fair value debt securities by major security type at June
30, 2024&#160;and June 30, 2023 are as follows:<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Gross</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Gross</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Amortized</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Unrealized</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Unrealized</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Fair</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Cost</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Gains</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Losses</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Value</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-decoration: underline">June 30, 2024</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="width: 48%">Certificates of deposit</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">17,651,000</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><div style="-sec-ix-hidden: hidden-fact-12">&#8212;</div></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><div style="-sec-ix-hidden: hidden-fact-13">&#8212;</div></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">17,651,000</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Municipal bonds</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">709,059</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,824</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(3,313</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">711,570</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-bottom: 1pt; text-align: left">U.S. Treasury bills</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">510,288</td><td style="padding-bottom: 1pt; white-space: nowrap; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">5,773</td><td style="padding-bottom: 1pt; white-space: nowrap; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-14">&#8212;</div></td><td style="padding-bottom: 1pt; white-space: nowrap; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">516,061</td><td style="padding-bottom: 1pt; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total investment securities</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">18,870,347</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">11,597</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(3,313</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">18,878,631</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Gross</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Gross</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Amortized</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Unrealized</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Unrealized</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Fair</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Cost</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Gains</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Losses</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Value</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-decoration: underline">June 30, 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="width: 48%">Certificates of deposit</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">11,280,000</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><div style="-sec-ix-hidden: hidden-fact-15">&#8212;</div></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><div style="-sec-ix-hidden: hidden-fact-16">&#8212;</div></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">11,280,000</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Municipal bonds</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">260,475</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">165</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(7,843</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">252,797</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left; padding-bottom: 1pt">U.S. Treasury Bills</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">430,952</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,225</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(301</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">431,876</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total investment securities</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">11,971,427</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1,390</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(8,144</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">11,964,673</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock', window );">Schedule of Contractual Maturities of Available-for-Sale Debt Securities</a></td>
<td class="text">As of June 30, 2024 and June 30, 2023, the remaining
contractual maturities of available-for-sale debt securities were as follows:<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Years to Maturity</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">Less than</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">One to</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">One Year</td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">Five Years</td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Total</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-decoration: underline">June 30, 2024</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="width: 61%; padding-bottom: 1pt">Available-for-sale</td><td style="width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="width: 10%; border-bottom: Black 1pt solid; text-align: right">17,889,582</td><td style="white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="width: 10%; border-bottom: Black 1pt solid; text-align: right">989,049</td><td style="white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="width: 10%; border-bottom: Black 1pt solid; text-align: right">18,878,631</td><td style="white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-decoration: underline">June 30, 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Available-for-sale</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">11,711,876</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">252,797</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">11,964,673</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (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/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481800/320-10-50-9<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481800/320-10-50-3<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<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/2147481800/320-10-50-2<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481800/320-10-50-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<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/2147481800/320-10-50-2<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481800/320-10-50-2<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aaa)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481800/320-10-50-2<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481800/320-10-50-2<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481800/320-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481800/320-10-50-3<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<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/2147481800/320-10-50-3<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481800/320-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_DebtSecuritiesAvailableForSaleTableTextBlock</td>
</tr>
<tr>
<td style="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_InvestmentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_InvestmentsAbstract</td>
</tr>
<tr>
<td style="padding-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_InvestmentsClassifiedByContractualMaturityDateTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 maturities of an entity's investments as well as any other information pertinent to the 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_InvestmentsClassifiedByContractualMaturityDateTableTextBlock</td>
</tr>
<tr>
<td style="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>46
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621638481552">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Contracts in Process (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_ContractorsAbstract', window );"><strong>Contracts in Process [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_esp_ScheduleOfContractsInProcessTableTextBlock', window );">Schedule of Contracts in Process</a></td>
<td class="text">Contracts in
process at June 30, 2024 and 2023 are as follows:<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left">Unrecognized gross contract value</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">97,216,542</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">83,577,153</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left">Costs related to contracts in process</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">15,904,588</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">17,318,579</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_esp_ScheduleOfContractsInProcessTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of contracts in process.</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;">esp_ScheduleOfContractsInProcessTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr: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_ContractorsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ContractorsAbstract</td>
</tr>
<tr>
<td style="padding-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>47
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621632731552">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property, Plant and Equipment (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Schedule of Property, Plant and Equipment</a></td>
<td class="text">Property, plant and equipment at June 30, 2024
and 2023 is as follows:<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%">Land</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">45,000</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">45,000</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left">Building and improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,472,156</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,811,179</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Machinery and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,509,018</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,402,679</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left; padding-bottom: 1pt">Furniture and fixtures</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">165,651</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">164,200</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">17,191,825</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">16,423,058</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left; padding-bottom: 1pt">Accumulated depreciation</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(13,885,550</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(13,597,969</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Property, plant and equipment, net</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">3,306,275</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">2,825,089</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -0.75in"><span style="text-underline-style: double">&#160;</span></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_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621633020064">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Provision for Income Taxes (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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>Provision for Income Taxes [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Schedule of Components of the Provision for Income Taxes</a></td>
<td class="text">A summary of the components of the provision for
income taxes for the years ended June 30, 2024 and 2023 is as follows:<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left">Current tax expense - federal</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">2,515,865</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">1,059,743</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left">Current tax (benefit) expense - state</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(3,010</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">9,595</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Deferred tax benefit</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1,032,981</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(40,002</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 30pt; text-align: left; padding-bottom: 2.5pt">Provision for income taxes</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1,479,874</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1,029,336</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Schedule of Effective Income Tax Rates</a></td>
<td class="text">The combined U.S. federal and state effective
income tax rates of 20.3% and 21.9%, for 2024 and 2023 respectively, differed from the statutory U.S. federal income tax rate for the
following reasons:<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left">U.S. federal statutory income tax rate</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">21.0%</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">21.0%</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left">Increase (reduction) in rate resulting from:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">State franchise tax, net of federal income tax benefit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-17">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.2</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-align: left">ESOP cost versus Fair Market Value</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.1</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(0.2</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Dividend on allocated ESOP shares</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(0.3</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-18">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-align: left">Stock-based compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.2</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1.0</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; padding-bottom: 1pt">Other</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(0.7</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(0.1</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left; padding-bottom: 2.5pt">Effective tax rate</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">20.3%</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">21.9%</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </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_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Schedule of Deferred Tax Assets and Liabilities</a></td>
<td class="text">deferred tax assets and deferred tax liabilities as of June 30, 2024 and 2023 are presented
as follows:<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deferred tax assets:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; width: 74%; text-align: left">Accrued expenses</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">138,158</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">273,059</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt">ESOP</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">32,698</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">24,407</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-indent: -10pt; padding-left: 30pt; text-align: left">Property, plant and equipment - principally due to differences in depreciation methods</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">601,358</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-19">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Pension Withdrawal</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">162,153</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-20">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt">Stock-based compensation</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">39,724</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">36,552</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 60pt; text-align: left; padding-bottom: 1pt">Total deferred tax assets </td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">974,091</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">334,018</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deferred tax liability:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-indent: -10pt; padding-left: 30pt; text-align: left">Property, plant and equipment - principally due to differences in depreciation methods</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-21">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">337,501</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Inventory - effect of uniform capitalization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">33,817</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">99,215</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt">Prepaid expenses</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">45,120</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">35,129</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 60pt; text-align: left; padding-bottom: 1pt">Total deferred tax liability</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">78,937</td><td style="padding-bottom: 1pt; white-space: nowrap; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">471,845</td><td style="padding-bottom: 1pt; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Net deferred tax asset (liability)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">895,154</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(137,827</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">)</td></tr>
  </table><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1.5in">&#160;</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.</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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax 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/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-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_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax 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/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-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_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="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>49
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621632656800">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Employee Stock Ownership Plan (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_SharesHeldInEmployeeStockOwnershipPlanAbstract', window );"><strong>Employee Stock Ownership Plan [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEmployeeStockOwnershipPlanESOPDisclosuresTextBlock', window );">Schedule of ESOP Shares</a></td>
<td class="text">The ESOP shares as of June 30,
2024 and 2023 were as follows:<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-indent: 0in">Allocated shares</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">451,132</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">484,958</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-bottom: 1pt">Unearned shares</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">211,487</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">233,645</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total shares held by the ESOP</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">662,619</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">718,603</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-bottom: 2.5pt">Fair value of unearned shares</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">4,494,099</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">3,913,554</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEmployeeStockOwnershipPlanESOPDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 details pertaining to each employee stock ownership 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> -Topic 718<br> -SubTopic 40<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480489/718-40-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_ScheduleOfEmployeeStockOwnershipPlanESOPDisclosuresTextBlock</td>
</tr>
<tr>
<td style="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_SharesHeldInEmployeeStockOwnershipPlanAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SharesHeldInEmployeeStockOwnershipPlanAbstract</td>
</tr>
<tr>
<td style="padding-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>50
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621633065344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-based Compensation (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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 [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock', window );">Schedule of Weighted Average Assumptions of Option Award</a></td>
<td class="text">The table below outlines the weighted average
assumptions that the Company used to calculate the fair value of each option award for the years ended June 30, 2024 and 2023.<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left; text-indent: 0in">Dividend yield</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">3.61%</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">0.03%</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left">Expected stock price volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">31.21%</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">27.20%</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Risk-free interest rate</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4.39%</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2.71%</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left">Expected option life (in years)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5.3yrs</td><td style="white-space: nowrap; text-align: left"></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5.4yrs</td><td style="white-space: nowrap; text-align: left"></td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Weighted average fair value per share of options granted during the period</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">4.11</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">4.18</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Schedule of Stock Option Activity</a></td>
<td class="text">The following table summarizes stock option activity
during the year ended June 30, 2024:<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td colspan="15" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Employee Stock Option Plans</td></tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Weighted</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td></tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Number of</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Weighted</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Average</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td></tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Shares</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Average</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Remaining</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Aggregate</td></tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Subject</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Exercise</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Contractual</td><td style="text-align: center; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center">Intrinsic</td></tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap">&#160;</td><td style="text-align: center; border-bottom: Black 1pt solid; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">to Option</td><td style="text-align: center; border-bottom: Black 1pt solid; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Price</td><td style="text-align: center; border-bottom: Black 1pt solid; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Term</td><td style="text-align: center; border-bottom: Black 1pt solid; vertical-align: bottom">&#160;</td> <td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Value</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 48%">Balance at July 1, 2023</td><td style="width: 3%">&#160;</td> <td style="width: 1%; text-align: left">&#160;</td><td style="width: 8%; text-align: right">296,331</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 3%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 8%; text-align: right">19.15</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 3%">&#160;</td> <td style="width: 1%; text-align: left">&#160;</td><td style="width: 8%; text-align: right">6.49</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 3%">&#160;</td> <td style="width: 1%; text-align: left">&#160;</td><td style="width: 8%; text-align: right"><div style="-sec-ix-hidden: hidden-fact-22">&#160;</div></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; "> <td>Granted</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">80,900</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right">16.78</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">9.22</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Exercised</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">(31,325</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right">16.80</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; "> <td style="text-align: left; padding-bottom: 1pt">Forfeited or expired</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(23,850</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">24.30</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 2.5pt">Outstanding at June 30, 2024</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">322,056</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">18.41</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">6.59</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1,259,317</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; "> <td style="text-align: left; padding-bottom: 2.5pt">Vested or expected to vest at June 30, 2024</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">313,205</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">18.45</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">6.52</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1,212,613</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 2.5pt">Exercisable at June 30, 2024</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">174,756</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">20.98</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">4.83</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">382,667</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td></tr> </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_ScheduleOfNonvestedShareActivityTableTextBlock', window );">Schedule of Changes in Non-Vested Stock Options</a></td>
<td class="text">The following table summarizes changes in non-vested stock options
during the year ended June 30, 2024:<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center">Weighted Number</td><td>&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center">Average</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center">of Shares</td><td>&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center">Grant Date</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center">Subject</td><td>&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center">Fair Value</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">to Option</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">(per Option)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%">Non-vested at July 1, 2023</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">132,600</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 3%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">3.98</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td>Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">80,900</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">4.11</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Vested</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(60,700</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">3.74</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left; padding-bottom: 1pt">Forfeited or expired</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(5,500</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">4.04</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Non-vested at June 30, 2024</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">147,300</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">4.15</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_ScheduleOfNonvestedShareActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 outstanding nonvested shares.</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 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, 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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<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_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.</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 718<br> -SubTopic 10<br> -Subparagraph (f)(2)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<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_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock</td>
</tr>
<tr>
<td style="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>51
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621733634864">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_StockholdersEquityNoteAbstract', window );"><strong>Stockholders' Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_esp_ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock', window );">Schedule of Reserved Common Shares for Future Issuance</a></td>
<td class="text">The Company has reserved common shares for future
issuance as follows as of June 30, 2024:<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 84%; text-align: left">Stock options outstanding</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">322,056</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left; padding-bottom: 1pt">Stock options available for issuance</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">80,969</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Number of common shares reserved</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">403,025</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Schedule of Reconciliation of the Numerators and Denominators of the Basic and Diluted Earnings Per Share Computations</a></td>
<td class="text">The following table sets forth the reconciliation
of the numerators and denominators of the basic and diluted earnings per share computations for continuing operations for the years ended
June 30:<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto;">
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Numerator:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="width: 72%; text-align: left; padding-bottom: 2.5pt">Net income</td><td style="width: 2%; padding-bottom: 2.5pt">&#160;</td>
    <td style="width: 1%; border-bottom: Black 2.5pt double; text-align: left">$</td><td style="width: 10%; border-bottom: Black 2.5pt double; text-align: right">5,815,140</td><td style="white-space: nowrap; width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 2.5pt">&#160;</td>
    <td style="width: 1%; border-bottom: Black 2.5pt double; text-align: left">$</td><td style="width: 10%; border-bottom: Black 2.5pt double; text-align: right">3,677,131</td><td style="white-space: nowrap; width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Denominator:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Basic EPS:</td><td style="font-family: Courier New, Courier, Monospace">&#160;</td>
    <td style="font-family: Courier New, Courier, Monospace; text-align: left">&#160;</td><td style="font-family: Courier New, Courier, Monospace; text-align: right">&#160;</td><td style="white-space: nowrap; font-family: Courier New, Courier, Monospace; text-align: left">&#160;</td><td style="font-family: Courier New, Courier, Monospace">&#160;</td>
    <td style="font-family: Courier New, Courier, Monospace; text-align: left">&#160;</td><td style="font-family: Courier New, Courier, Monospace; text-align: right">&#160;</td><td style="white-space: nowrap; font-family: Courier New, Courier, Monospace; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-align: left">Common shares outstanding, beginning of period</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,702,633</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,702,633</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt">Unearned ESOP shares</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(233,645</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(256,293</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt">Weighted average common shares issued during the period</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,837</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-24">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; padding-bottom: 1pt">Weighted average ESOP shares earned during the period</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">8,340</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">8,516</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; text-align: left">Denominator for basic earnings per common shares &#8211;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 40pt; padding-bottom: 2.5pt">Weighted average common shares</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">2,489,165</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">2,454,856</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Diluted EPS:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt">Common shares outstanding, beginning of period</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,702,633</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,702,633</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt">Unearned ESOP shares</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(233,645</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(256,293</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt">Weighted average common shares issued during the period</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,837</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-25">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt">Weighted average ESOP shares earned during the period</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,340</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,516</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 20pt; padding-bottom: 1pt">Weighted average dilutive effect of stock options</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">47,802</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">16,160</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Denominator for diluted earnings per common shares &#8211;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; ">
    <td style="padding-left: 40pt; padding-bottom: 2.5pt">Weighted average common shares</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">2,536,967</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">2,471,016</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_esp_ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 schedule of common shares reserved for future issuance as stock option awards.</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;">esp_ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr: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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityNoteAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StockholdersEquityNoteAbstract</td>
</tr>
<tr>
<td style="padding-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>52
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621738865152">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Quarterly Financial Information (Unaudited) (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_QuarterlyFinancialInformationDisclosureAbstract', window );"><strong>Quarterly Financial Information (Unaudited) [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock', window );">Schedule of Quarterly Financial Information</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap">&#160;</td><td>&#160;</td> <td colspan="2" style="white-space: nowrap; text-align: right">First</td><td>&#160;</td><td>&#160;</td> <td colspan="2" style="white-space: nowrap; text-align: right">Second</td><td>&#160;</td><td>&#160;</td> <td colspan="2" style="white-space: nowrap; text-align: right">Third</td><td>&#160;</td><td>&#160;</td> <td colspan="2" style="white-space: nowrap; text-align: right">Fourth</td><td>&#160;</td></tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-weight: bold">2024</td><td style="padding-bottom: 1pt">&#160;</td> <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Quarter</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td> <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Quarter</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td> <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Quarter</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td> <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Quarter</td><td style="padding-bottom: 1pt">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 44%; text-align: left">Net sales</td><td style="width: 2%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">8,568,214</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">10,302,541</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">8,254,653</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">11,610,911</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; "> <td style="padding-left: 30pt; text-align: left">Gross profit</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">2,245,377</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">3,142,575</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">2,064,191</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">3,200,917</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 30pt; text-align: left">Net income</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">1,094,544</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">1,795,370</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">1,031,930</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">1,893,296</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; "> <td>Net income per share -</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 10pt">Basic</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">0.44</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">0.73</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">0.41</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">0.76</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; "> <td style="padding-left: 10pt">Diluted</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">0.44</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">0.72</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">0.40</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">0.73</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; "> <td style="vertical-align: bottom; font-weight: bold; text-align: left">2023</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Net sales</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right">8,635,795</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right">8,804,109</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right">9,809,616</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right">8,342,803</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; "> <td style="padding-left: 30pt; text-align: left">Gross profit</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">1,812,142</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">2,260,722</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">1,973,429</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">2,004,245</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 30pt; text-align: left">Net income</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">768,266</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">1,146,042</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">867,288</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">895,535</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; "> <td>Net income per share -</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 10pt">Basic</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">0.31</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">0.47</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">0.35</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">0.37</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; "> <td style="padding-left: 10pt">Diluted</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">0.31</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">0.47</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">0.35</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">0.36</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_QuarterlyFinancialInformationDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_QuarterlyFinancialInformationDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfQuarterlyFinancialInformationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 quarterly financial data. Includes, but is not limited to, financial information for fiscal quarters, cumulative effect of a change in accounting principle and earnings per share data.</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 1<br> -SubTopic 10<br> -Topic 270<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-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_ScheduleOfQuarterlyFinancialInformationTableTextBlock</td>
</tr>
<tr>
<td style="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>53
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621638670400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jul. 01, 2023</div></th>
<th class="th"><div>Jul. 01, 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_AccountingPoliciesAbstract', window );"><strong>Summary of Significant Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_esp_ContractExtendTerm', window );">Contract extend term</a></td>
<td class="text">12 months<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_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Allowance for credit allowances</a></td>
<td class="nump">$ 3,000<span></span>
</td>
<td class="nump">$ 3,000<span></span>
</td>
<td class="nump">$ 3,000<span></span>
</td>
<td class="nump">$ 3,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_AccountsReceivableNetCurrent', window );">Accounts receivable</a></td>
<td class="nump">6,635,490<span></span>
</td>
<td class="nump">5,755,282<span></span>
</td>
<td class="nump">$ 5,755,282<span></span>
</td>
<td class="nump">$ 5,733,174<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_ImpairmentOfLongLivedAssetsToBeDisposedOf', window );">Impairments of long-lived assets</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <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_esp_ContractExtendTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contract extend term.</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;">esp_ContractExtendTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance 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_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, 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 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-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_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 accounts 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/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(4))<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> -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 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-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_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ImpairmentOfLongLivedAssetsToBeDisposedOf">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of write-downs for impairments recognized during the period for long-lived assets held for abandonment, exchange or sale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<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 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482130/360-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_ImpairmentOfLongLivedAssetsToBeDisposedOf</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>54
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621634545248">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Details) - Schedule of Estimated Useful Lives of Depreciable Assets<br></strong></div></th>
<th class="th"><div>Jun. 30, 2024</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_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member] | Buildings and improvements [Member]</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_PropertyPlantAndEquipmentLineItems', window );"><strong>Schedule of Estimated Useful Lives of Depreciable Assets [Line Items]</strong></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_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives of depreciable assets</a></td>
<td class="text">10 years<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_RangeAxis=srt_MinimumMember', window );">Minimum [Member] | Machinery and equipment [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_PropertyPlantAndEquipmentLineItems', window );"><strong>Schedule of Estimated Useful Lives of Depreciable Assets [Line Items]</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_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives of depreciable assets</a></td>
<td class="text">3 years<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_RangeAxis=srt_MinimumMember', window );">Minimum [Member] | Furniture and fixtures [Member]</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_PropertyPlantAndEquipmentLineItems', window );"><strong>Schedule of Estimated Useful Lives of Depreciable Assets [Line Items]</strong></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_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives of depreciable assets</a></td>
<td class="text">7 years<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_RangeAxis=srt_MaximumMember', window );">Maximum [Member] | Buildings and improvements [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_PropertyPlantAndEquipmentLineItems', window );"><strong>Schedule of Estimated Useful Lives of Depreciable Assets [Line Items]</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_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives of depreciable assets</a></td>
<td class="text">50 years<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_RangeAxis=srt_MaximumMember', window );">Maximum [Member] | Machinery and equipment [Member]</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_PropertyPlantAndEquipmentLineItems', window );"><strong>Schedule of Estimated Useful Lives of Depreciable Assets [Line Items]</strong></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_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives of depreciable assets</a></td>
<td class="text">20 years<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_RangeAxis=srt_MaximumMember', window );">Maximum [Member] | Furniture and fixtures [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_PropertyPlantAndEquipmentLineItems', window );"><strong>Schedule of Estimated Useful Lives of Depreciable Assets [Line Items]</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_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives of depreciable assets</a></td>
<td class="text">10 years<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_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</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 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-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_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</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_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</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_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RangeAxis=srt_MinimumMember</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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingImprovementsMember</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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember</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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember</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_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RangeAxis=srt_MaximumMember</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>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.3</span><table class="report" border="0" cellspacing="2" id="idm46621637085312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Sep. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Sep. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 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_DisaggregationOfRevenueLineItems', window );"><strong>Revenue [Line Items]</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>
<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_Revenues', window );">Revenue</a></td>
<td class="nump">$ 11,610,911<span></span>
</td>
<td class="nump">$ 8,254,653<span></span>
</td>
<td class="nump">$ 10,302,541<span></span>
</td>
<td class="nump">$ 8,568,214<span></span>
</td>
<td class="nump">$ 8,342,803<span></span>
</td>
<td class="nump">$ 9,809,616<span></span>
</td>
<td class="nump">$ 8,804,109<span></span>
</td>
<td class="nump">$ 8,635,795<span></span>
</td>
<td class="nump">$ 38,736,319<span></span>
</td>
<td class="nump">$ 35,592,323<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue recognized contract liabilities</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,191,954<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_AdjustmentsForNewAccountingPronouncementsAxis=esp_ASC606Member', window );">ASC 606 [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>
<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>
<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_DisaggregationOfRevenueLineItems', window );"><strong>Revenue [Line Items]</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>
<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_ContractWithCustomerLiability', window );">Contract liabilities</a></td>
<td class="nump">9,043,422<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 8,081,838<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,043,422<span></span>
</td>
<td class="nump">8,081,838<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_AdjustmentsForNewAccountingPronouncementsAxis=esp_ASC606Member', window );">ASC 606 [Member] | Order or Production Backlog [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>
<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>
<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_DisaggregationOfRevenueLineItems', window );"><strong>Revenue [Line Items]</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>
<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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Intangible assets</a></td>
<td class="nump">$ 97,200,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 97,200,000<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_esp_BacklogPercentageOfRecognitionsYearOne', window );">Backlog amount to be recognized, 2024</a></td>
<td class="nump">45.00%<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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">45.00%<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_esp_BacklogPercentageOfRecognitionsYearTwo', window );">Backlog amount to be recognized, 2025</a></td>
<td class="nump">33.00%<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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">33.00%<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_esp_BacklogPercentageOfRecognitionsYearThree', window );">Backlog amount to be recognized, 2026</a></td>
<td class="nump">10.00%<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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.00%<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_esp_BacklogPercentageOfRecognitions', window );">Backlog amount to be recognized</a></td>
<td class="nump">12.00%<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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12.00%<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=esp_UnitsDeliveredMember', window );">Units Delivered [Member] | ASC 606 [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>
<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>
<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_DisaggregationOfRevenueLineItems', window );"><strong>Revenue [Line Items]</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>
<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_Revenues', window );">Revenue</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 33,403,833<span></span>
</td>
<td class="nump">27,770,365<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=esp_MilestonesAchievedMember', window );">Milestones Achieved [Member] | ASC 606 [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>
<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>
<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_DisaggregationOfRevenueLineItems', window );"><strong>Revenue [Line Items]</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>
<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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenue</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,332,486<span></span>
</td>
<td class="nump">$ 7,821,958<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_esp_BacklogPercentageOfRecognitions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 percentage of backlog that will be recognized within three years of the operating cycle.</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;">esp_BacklogPercentageOfRecognitions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr: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_esp_BacklogPercentageOfRecognitionsYearOne">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 percentage of backlog that will be recognized within one year of the operating cycle.</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;">esp_BacklogPercentageOfRecognitionsYearOne</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr: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_esp_BacklogPercentageOfRecognitionsYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 percentage of backlog that will be recognized within two years of the operating cycle.</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;">esp_BacklogPercentageOfRecognitionsYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr: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_esp_BacklogPercentageOfRecognitionsYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 percentage of backlog that will be recognized within two years of the operating cycle.</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;">esp_BacklogPercentageOfRecognitionsYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr: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_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_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</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 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-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_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483154/926-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, including 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 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 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<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 (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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 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> -Subparagraph (a)<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 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_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<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 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<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 (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 7: 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 8: 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 9: 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 10: 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 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)(ii))<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/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 21: 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 22: 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 23: 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 24: 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 25: 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/2147477314/942-235-S99-1<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=esp_ASC606Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AdjustmentsForNewAccountingPronouncementsAxis=esp_ASC606Member</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_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_OrderOrProductionBacklogMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_OrderOrProductionBacklogMember</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_StatementScenarioAxis=esp_UnitsDeliveredMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=esp_UnitsDeliveredMember</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_StatementScenarioAxis=esp_MilestonesAchievedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=esp_MilestonesAchievedMember</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>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.3</span><table class="report" border="0" cellspacing="2" id="idm46621633744624">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Investment Securities (Details) - Schedule of Classifies Investment Securities as Available-for-Sale - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 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_ScheduleOfInvestmentsLineItems', window );"><strong>Schedule of Classifies Investment Securities as Available-for-Sale [Line Items]</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_TradingSecuritiesDebtAmortizedCost', window );">Amortized Cost</a></td>
<td class="nump">$ 18,870,347<span></span>
</td>
<td class="nump">$ 11,971,427<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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gains</a></td>
<td class="nump">11,597<span></span>
</td>
<td class="nump">1,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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Losses</a></td>
<td class="num">(3,313)<span></span>
</td>
<td class="num">(8,144)<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_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Fair Value</a></td>
<td class="nump">18,878,631<span></span>
</td>
<td class="nump">11,964,673<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=us-gaap_CertificatesOfDepositMember', window );">Certificates of deposit [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_ScheduleOfInvestmentsLineItems', window );"><strong>Schedule of Classifies Investment Securities as Available-for-Sale [Line Items]</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_TradingSecuritiesDebtAmortizedCost', window );">Amortized Cost</a></td>
<td class="nump">17,651,000<span></span>
</td>
<td class="nump">11,280,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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gains</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Losses</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Fair Value</a></td>
<td class="nump">17,651,000<span></span>
</td>
<td class="nump">11,280,000<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=us-gaap_MunicipalBondsMember', window );">Municipal bonds [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_ScheduleOfInvestmentsLineItems', window );"><strong>Schedule of Classifies Investment Securities as Available-for-Sale [Line Items]</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_TradingSecuritiesDebtAmortizedCost', window );">Amortized Cost</a></td>
<td class="nump">709,059<span></span>
</td>
<td class="nump">260,475<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gains</a></td>
<td class="nump">5,824<span></span>
</td>
<td class="nump">165<span></span>
</td>
</tr>
<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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Losses</a></td>
<td class="num">(3,313)<span></span>
</td>
<td class="num">(7,843)<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_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Fair Value</a></td>
<td class="nump">711,570<span></span>
</td>
<td class="nump">252,797<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=us-gaap_USTreasuryBillSecuritiesMember', window );">U.S. Treasury bills [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_ScheduleOfInvestmentsLineItems', window );"><strong>Schedule of Classifies Investment Securities as Available-for-Sale [Line Items]</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_TradingSecuritiesDebtAmortizedCost', window );">Amortized Cost</a></td>
<td class="nump">510,288<span></span>
</td>
<td class="nump">430,952<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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gains</a></td>
<td class="nump">5,773<span></span>
</td>
<td class="nump">1,225<span></span>
</td>
</tr>
<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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Losses</a></td>
<td class="text"> <span></span>
</td>
<td class="num">(301)<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_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Fair Value</a></td>
<td class="nump">$ 516,061<span></span>
</td>
<td class="nump">$ 431,876<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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax, of unrealized gain in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (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 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481800/320-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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax, of unrealized loss in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (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 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481800/320-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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_AvailableForSaleSecuritiesDebtSecuritiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), 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 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481830/320-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479130/326-30-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_AvailableForSaleSecuritiesDebtSecuritiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ScheduleOfInvestmentsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</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 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14(Column A)(Footnote 1)(b)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.12-12(Column A)(Footnote 2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14(Column A)(Footnote 2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-6<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-12B(Column A)(Footnote 4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.12-12(Column A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.12-12(Column B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.12-12(Column C))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.12-12(Column A)(Footnote 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.12-12(Column A)(Footnote 2)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.12-12(Column A)(Footnote 2)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.12-12(Column A)(Footnote 4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.12-12(Column C)(Footnote 5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.12-12(Column C)(Footnote 6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.12-12(Column B)(Footnote 7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.12-12(Column C)(Footnote 8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.12-12(Column C)(Footnote 8)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.12-12(Column C)(Footnote 8)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.12-12(Column C)(Footnote 8)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.12-12(Column C)(Footnote 8)(b)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.12-12(Column C)(Footnote 8)(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.12-12(Column C)(Footnote 8)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-1<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.12-12(Column C)(Footnote 9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-1<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.12-12(Column C)(Footnote 10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-1<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-12B(Column A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-3<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-12B(Column B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-3<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-12B(Column C))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-3<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-12B(Column D))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-3<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-12B(Column A)(Footnote 1)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-3<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-12B(Column A)(Footnote 1)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-3<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-12B(Column C)(Footnote 2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-3<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-12B(Column A)(Footnote 3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-3<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-12B(Column A)(Footnote 4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-3<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-12B(Column A)(Footnote 4)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-3<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-12B(Column A)(Footnote 6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-3<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-12B(Column A)(Footnote 7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-3<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-12B(Column C)(Footnote 9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-3<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-12B(Column B)(Footnote 10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-3<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-12B(Column C)(Footnote 11))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-3<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-12B(Column C)(Footnote 11)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-3<br><br>Reference 40: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-12B(Column C)(Footnote 11)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-3<br><br>Reference 41: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-12B(Column C)(Footnote 11)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-3<br><br>Reference 42: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-12B(Column C)(Footnote 11)(b)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-3<br><br>Reference 43: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-12B(Column C)(Footnote 11)(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-3<br><br>Reference 44: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-12B(Column C)(Footnote 11)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-3<br><br>Reference 45: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-12B(Column C)(Footnote 12))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-3<br><br>Reference 46: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-12B(Column C)(Footnote 13))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-3<br><br>Reference 47: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14(Column A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-6<br><br>Reference 48: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14(Column B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-6<br><br>Reference 49: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14(Column F))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-6<br><br>Reference 50: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14(Column A)(Footnote 1)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-6<br><br>Reference 51: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14(Column A)(Footnote 1)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-6<br><br>Reference 52: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14(Column A)(Footnote 1)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-6<br><br>Reference 53: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14(Column A)(Footnote 1)(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-6<br><br>Reference 54: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14(Column A)(Footnote 1)(b)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-6<br><br>Reference 55: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14(Column A)(Footnote 1)(b)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-6<br><br>Reference 56: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14(Column A)(Footnote 1)(b)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-6<br><br>Reference 57: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14(Column A)(Footnote 1)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-6<br><br>Reference 58: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14(Column A)(Footnote 3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-6<br><br>Reference 59: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14(Column F)(Footnote 4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-6<br><br>Reference 60: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14(Column F)(Footnote 5)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-6<br><br>Reference 61: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14(Column F)(Footnote 7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-6<br><br>Reference 62: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14(Column F)(Footnote 8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-6<br><br>Reference 63: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14(Column F)(Footnote 9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-6<br><br>Reference 64: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 19<br> -Subparagraph (1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-19<br><br>Reference 65: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 19<br> -Subparagraph (3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-19<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInvestmentsLineItems</td>
</tr>
<tr>
<td style="padding-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_TradingSecuritiesDebtAmortizedCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amortized cost of investments in debt securities classified as trading.</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)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/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(2))<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_TradingSecuritiesDebtAmortizedCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_FinancialInstrumentAxis=us-gaap_CertificatesOfDepositMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=us-gaap_CertificatesOfDepositMember</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=us-gaap_MunicipalBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=us-gaap_MunicipalBondsMember</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=us-gaap_USTreasuryBillSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=us-gaap_USTreasuryBillSecuritiesMember</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>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.3</span><table class="report" border="0" cellspacing="2" id="idm46621633718976">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Investment Securities (Details) - Schedule of Contractual Maturities of Available-for-Sale Debt Securities - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 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_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract', window );"><strong>Schedule of Contractual Maturities of Available-for-Sale Debt Securities [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue', window );">Less than One Year</a></td>
<td class="nump">$ 17,889,582<span></span>
</td>
<td class="nump">$ 11,711,876<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_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue', window );">One to Five Years</a></td>
<td class="nump">989,049<span></span>
</td>
<td class="nump">252,797<span></span>
</td>
</tr>
<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_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Fair Value</a></td>
<td class="nump">$ 18,878,631<span></span>
</td>
<td class="nump">$ 11,964,673<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_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in second through fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</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 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481800/320-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477268/942-320-50-3A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract</td>
</tr>
<tr>
<td style="padding-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_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</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 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481800/320-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477268/942-320-50-3A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_AvailableForSaleSecuritiesDebtSecuritiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), 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 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481830/320-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479130/326-30-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_AvailableForSaleSecuritiesDebtSecuritiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>58
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621634076224">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Contracts in Process (Details) - Schedule of Contracts in Process - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 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_InventoryNetAbstract', window );"><strong>Schedule of Contracts In Process [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_esp_UnrecognizedGrossContractValue', window );">Unrecognized gross contract value</a></td>
<td class="nump">$ 97,216,542<span></span>
</td>
<td class="nump">$ 83,577,153<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_InventoryForLongTermContractsOrPrograms', window );">Costs related to contracts in process</a></td>
<td class="nump">$ 15,904,588<span></span>
</td>
<td class="nump">$ 17,318,579<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_esp_UnrecognizedGrossContractValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 unrecognized gross contract value.</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;">esp_UnrecognizedGrossContractValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</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_InventoryForLongTermContractsOrPrograms">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves, and progress payments, of inventory associated with long-term contracts, expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(2))<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_InventoryForLongTermContractsOrPrograms</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_InventoryNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_InventoryNetAbstract</td>
</tr>
<tr>
<td style="padding-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>59
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621633446160">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property, Plant and Equipment (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 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_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</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_Depreciation', window );">Depreciation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 453,517<span></span>
</td>
<td class="nump">$ 484,920<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_EquipmentExpense', window );">Funding amount</a></td>
<td class="nump">$ 7,400,000<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_esp_TotalMilestoneReimbursementsReceivedAmount', window );">Total milestone reimbursements received amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,228,722<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_AccountsPayableCurrentAndNoncurrent', window );">Accounts payable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">272,560<span></span>
</td>
<td class="nump">9,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_FairValueByAssetClassAxis=us-gaap_PropertyPlantAndEquipmentMember', window );">Property, Plant and Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</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_DeferredTaxAssetsOther', window );">Deferred tax asset</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">888,032<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_PropertyPlantAndEquipmentOtherNet', window );">Property, plant, and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 965,392<span></span>
</td>
<td class="nump">$ 308,001<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_esp_TotalMilestoneReimbursementsReceivedAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 milestone reimbursements received amount.</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;">esp_TotalMilestoneReimbursementsReceivedAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</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_AccountsPayableCurrentAndNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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.</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 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-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)(15)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-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_AccountsPayableCurrentAndNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredTaxAssetsOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</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_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_EquipmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 equipment expense including depreciation, repairs, rentals, and service contract costs. This item also includes equipment purchases which do not qualify for capitalization in accordance with the entity's accounting policy. This item may also include furniture expenses.</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_EquipmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</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 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-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_PropertyPlantAndEquipmentOtherNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 depreciation of long-lived, physical assets used to produce goods and services and not intended for resale, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentOtherNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PropertyPlantAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PropertyPlantAndEquipmentMember</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>60
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621637465040">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Property, Plant and Equipment (Details) - Schedule of Property, Plant and Equipment - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 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_PropertyPlantAndEquipmentLineItems', window );"><strong>Schedule of Property, Plant and Equipment [Line Items]</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_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment, gross</a></td>
<td class="nump">$ 17,191,825<span></span>
</td>
<td class="nump">$ 16,423,058<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 );">Accumulated depreciation</a></td>
<td class="num">(13,885,550)<span></span>
</td>
<td class="num">(13,597,969)<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_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">3,306,275<span></span>
</td>
<td class="nump">2,825,089<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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandMember', window );">Land [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_PropertyPlantAndEquipmentLineItems', window );"><strong>Schedule of Property, Plant and Equipment [Line Items]</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_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment, gross</a></td>
<td class="nump">45,000<span></span>
</td>
<td class="nump">45,000<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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandBuildingsAndImprovementsMember', window );">Building and improvements [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_PropertyPlantAndEquipmentLineItems', window );"><strong>Schedule of Property, Plant and Equipment [Line Items]</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_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment, gross</a></td>
<td class="nump">5,472,156<span></span>
</td>
<td class="nump">4,811,179<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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery and equipment [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_PropertyPlantAndEquipmentLineItems', window );"><strong>Schedule of Property, Plant and Equipment [Line Items]</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_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment, gross</a></td>
<td class="nump">11,509,018<span></span>
</td>
<td class="nump">11,402,679<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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember', window );">Furniture and fixtures [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_PropertyPlantAndEquipmentLineItems', window );"><strong>Schedule of Property, Plant and Equipment [Line Items]</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_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment, gross</a></td>
<td class="nump">$ 165,651<span></span>
</td>
<td class="nump">$ 164,200<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/2147478777/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_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/2147478777/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_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</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 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-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_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/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br><br>Reference 3: 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 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(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 5: 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/2147478451/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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandMember</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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandBuildingsAndImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandBuildingsAndImprovementsMember</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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember</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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember</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>61
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621633595216">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pension Expense (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 31, 2024</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 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_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems', window );"><strong>Pension Expense [Line Items]</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_PensionAndOtherPostretirementBenefitExpense', window );">Defined benefit contributions and expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 102,745<span></span>
</td>
<td class="nump">$ 102,612<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_OtherLiabilities', window );">Remaining liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">561,852<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_MultiemployerPlanPensionSignificantPlanContribution', window );">Expenses contributions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 79,429<span></span>
</td>
<td class="nump">$ 72,350<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_DefinedContributionPlanEmployerMatchingContributionPercent', window );">Percentage of employer contribution</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
<td class="nump">10.00%<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_esp_DefinedContributionPlanEmployersMatchingContribution', window );">Employee contribution</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 60,301<span></span>
</td>
<td class="nump">$ 53,768<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_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember', window );">Subsequent Event [Member]</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_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems', window );"><strong>Pension Expense [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MultiemployerPlansWithdrawalObligation', window );">Withdrawal obligation</a></td>
<td class="nump">$ 772,157<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_PensionContributions', window );">Contribution payment</a></td>
<td class="nump">$ 210,305<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_esp_DefinedContributionPlanEmployersMatchingContribution">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">esp_DefinedContributionPlanEmployersMatchingContribution</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</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_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</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_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems</td>
</tr>
<tr>
<td style="padding-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_DefinedContributionPlanEmployerMatchingContributionPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 employees' gross pay for which the employer contributes a matching contribution to a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent</td>
</tr>
<tr>
<td style="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_MultiemployerPlanPensionSignificantPlanContribution">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 contribution received by multiemployer pension plan from all employers participating in multiemployer pension plan determined to be individually significant.</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 715<br> -SubTopic 80<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480547/715-80-55-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 80<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480576/715-80-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_MultiemployerPlanPensionSignificantPlanContribution</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_MultiemployerPlansWithdrawalObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the obligation recognized by withdrawing from a pension or postretirement benefit plan to which two or more unrelated employers contribute where assets contributed by one participating employer may be used to provide benefits to employees of other participating employers.</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_MultiemployerPlansWithdrawalObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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://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(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<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)(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: 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/2147479168/946-830-55-12<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(12)(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/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 S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(12)(b)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 6: 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/2147479170/946-210-S99-1<br><br>Reference 7: 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)(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-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_PensionAndOtherPostretirementBenefitExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 cost (reversal of cost) for pension and other postretirement benefits.</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_PensionAndOtherPostretirementBenefitExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PensionContributions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for pension benefit. Includes, but is not limited to, employer contribution to fund plan asset and payment to retiree. Excludes other postretirement benefit.</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 25<br> -Subparagraph (g)<br> -SubTopic 10<br> -Topic 230<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_PensionContributions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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>62
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621633186672">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Provision for Income Taxes (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 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_IncomeTaxContingencyLineItems', window );"><strong>Provision for Income Taxes [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Effective tax rate</a></td>
<td class="nump">20.30%<span></span>
</td>
<td class="nump">21.90%<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_DeferredIncomeTaxExpenseBenefit', window );">Deferred income tax benefit</a></td>
<td class="num">$ (1,032,981)<span></span>
</td>
<td class="num">$ (40,002)<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_CashAndCashEquivalentsAxis=esp_USFederalAndStateMember', window );">U.S. Federal and State [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_IncomeTaxContingencyLineItems', window );"><strong>Provision for Income Taxes [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Effective tax rate</a></td>
<td class="nump">20.30%<span></span>
</td>
<td class="nump">21.90%<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_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/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(h)(1)(Note 1))<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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="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_IncomeTaxContingencyLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</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_IncomeTaxContingencyLineItems</td>
</tr>
<tr>
<td style="padding-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_CashAndCashEquivalentsAxis=esp_USFederalAndStateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CashAndCashEquivalentsAxis=esp_USFederalAndStateMember</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>63
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621633237008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Provision for Income Taxes (Details) - Schedule of Components of the Provision for Income Taxes - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 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_IncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Schedule of Components of the Provision for Income Taxes [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentFederalTaxExpenseBenefit', window );">Current tax expense - federal</a></td>
<td class="nump">$ 2,515,865<span></span>
</td>
<td class="nump">$ 1,059,743<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_CurrentStateAndLocalTaxExpenseBenefit', window );">Current tax (benefit) expense - state</a></td>
<td class="num">(3,010)<span></span>
</td>
<td class="nump">9,595<span></span>
</td>
</tr>
<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_DeferredIncomeTaxExpenseBenefit', window );">Deferred tax benefit</a></td>
<td class="num">(1,032,981)<span></span>
</td>
<td class="num">(40,002)<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_IncomeTaxExpenseBenefit', window );">Provision for income taxes</a></td>
<td class="nump">$ 1,479,874<span></span>
</td>
<td class="nump">$ 1,029,336<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_CurrentFederalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction.</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 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 2: 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(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentFederalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_CurrentStateAndLocalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.</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 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 2: 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(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentStateAndLocalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/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(h)(1)(Note 1))<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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-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 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<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 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<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 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 6: 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 7: 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 8: 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 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> -Subparagraph (h)<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 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/2147477250/944-220-S99-1<br><br>Reference 11: 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 12: 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_IncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeTaxExpenseBenefitContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-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>64
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621632558000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Provision for Income Taxes (Details) - Schedule of Effective Income Tax Rates<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 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_EffectiveIncomeTaxRateReconciliationTaxCreditsAbstract', window );"><strong>Schedule of Effective Income Tax Rates [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">U.S. federal statutory income tax rate</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<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_esp_IncreaseReductionInRateResultingFromAbstract', window );"><strong>Increase (reduction) in rate resulting from:</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_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes', window );">State franchise tax, net of federal income tax benefit</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">0.20%<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_esp_EffectiveIncomeTaxRateReconciliationESOPFairValue', window );">ESOP cost versus Fair Market Value</a></td>
<td class="nump">0.10%<span></span>
</td>
<td class="num">(0.20%)<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_esp_EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares', window );">Dividend on allocated ESOP shares</a></td>
<td class="num">(0.30%)<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost', window );">Stock-based compensation</a></td>
<td class="nump">0.20%<span></span>
</td>
<td class="nump">1.00%<span></span>
</td>
</tr>
<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_EffectiveIncomeTaxRateReconciliationOtherAdjustments', window );">Other</a></td>
<td class="num">(0.70%)<span></span>
</td>
<td class="num">(0.10%)<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_EffectiveIncomeTaxRateContinuingOperations', window );">Effective tax rate</a></td>
<td class="nump">20.30%<span></span>
</td>
<td class="nump">21.90%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_esp_EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Dividend on allocated ESOP shares.</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;">esp_EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr: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_esp_EffectiveIncomeTaxRateReconciliationESOPFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the difference between the effective income tax rate and domestic federal statutory income tax rate attributable to differences in ESOP fair value.</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;">esp_EffectiveIncomeTaxRateReconciliationESOPFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr: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_esp_IncreaseReductionInRateResultingFromAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">esp_IncreaseReductionInRateResultingFromAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</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_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 3: 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.1.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<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(h)(2))<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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="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_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible 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://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: 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(h)(2))<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_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost</td>
</tr>
<tr>
<td style="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_EffectiveIncomeTaxRateReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.</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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: 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(h)(2))<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_EffectiveIncomeTaxRateReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="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_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).</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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: 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(h)(2))<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_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="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_EffectiveIncomeTaxRateReconciliationTaxCreditsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EffectiveIncomeTaxRateReconciliationTaxCreditsAbstract</td>
</tr>
<tr>
<td style="padding-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>65
<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.3</span><table class="report" border="0" cellspacing="2" id="idm46621803365344">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Provision for Income Taxes (Details) - Schedule of Deferred Tax Assets and Liabilities - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 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_DeferredTaxAssetsNetAbstract', window );"><strong>Deferred tax 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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities', window );">Accrued expenses</a></td>
<td class="nump">$ 138,158<span></span>
</td>
<td class="nump">$ 273,059<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_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther', window );">ESOP</a></td>
<td class="nump">32,698<span></span>
</td>
<td class="nump">24,407<span></span>
</td>
</tr>
<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_DeferredTaxAssetsPropertyPlantAndEquipment', window );">Property, plant and equipment - principally due to differences in depreciation methods</a></td>
<td class="nump">601,358<span></span>
</td>
<td class="text"> <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_esp_DeferredTaxAssetsPensionWithdrawal', window );">Pension Withdrawal</a></td>
<td class="nump">162,153<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<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_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost', window );">Stock-based compensation</a></td>
<td class="nump">39,724<span></span>
</td>
<td class="nump">36,552<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_DeferredTaxAssetsGross', window );">Total deferred tax assets</a></td>
<td class="nump">974,091<span></span>
</td>
<td class="nump">334,018<span></span>
</td>
</tr>
<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_DeferredTaxLiabilitiesNetAbstract', window );"><strong>Deferred tax liability:</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_DeferredTaxLiabilitiesPropertyPlantAndEquipment', window );">Property, plant and equipment - principally due to differences in depreciation methods</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">337,501<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts', window );">Inventory - effect of uniform capitalization</a></td>
<td class="nump">33,817<span></span>
</td>
<td class="nump">99,215<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_DeferredTaxLiabilitiesPrepaidExpenses', window );">Prepaid expenses</a></td>
<td class="nump">45,120<span></span>
</td>
<td class="nump">35,129<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_DeferredIncomeTaxLiabilities', window );">Total deferred tax liability</a></td>
<td class="nump">78,937<span></span>
</td>
<td class="nump">471,845<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_esp_DeferredTaxAssetLiability', window );">Net deferred tax asset (liability)</a></td>
<td class="nump">$ 895,154<span></span>
</td>
<td class="num">$ (137,827)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_esp_DeferredTaxAssetLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Net deferred tax asset (liability).</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;">esp_DeferredTaxAssetLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</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_esp_DeferredTaxAssetsPensionWithdrawal">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">esp_DeferredTaxAssetsPensionWithdrawal</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</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_DeferredIncomeTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax liability attributable to taxable temporary differences.</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(26)(b))<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> -Topic 740<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/2147482685/740-10-50-2<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(26)(a))<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> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/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_DeferredIncomeTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredTaxAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-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_DeferredTaxAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredTaxAssetsNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DeferredTaxAssetsNetAbstract</td>
</tr>
<tr>
<td style="padding-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_DeferredTaxAssetsPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from property, plant, and equipment.</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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences from compensation and benefits, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation.</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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities.</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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax consequences attributable to taxable temporary differences derived from inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredTaxLiabilitiesNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DeferredTaxLiabilitiesNetAbstract</td>
</tr>
<tr>
<td style="padding-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_DeferredTaxLiabilitiesPrepaidExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax consequences attributable to taxable temporary differences derived from prepaid expenses.</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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesPrepaidExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredTaxLiabilitiesPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax liability attributable to taxable temporary differences from property, plant, and equipment.</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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>66
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm46621633111952">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Significant Customers (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 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_ConcentrationRiskLineItems', window );"><strong>Significant Customers [Line Items]</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_SalesTypeLeaseRevenue', window );">Sale export shipments amount (in Dollars)</a></td>
<td class="nump">$ 2,350,087<span></span>
</td>
<td class="nump">$ 549,510<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=us-gaap_CustomerConcentrationRiskMember', window );">Customer Concentration Risk [Member] | Five Customers [Member] | Revenue Benchmark [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_ConcentrationRiskLineItems', window );"><strong>Significant Customers [Line Items]</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_ConcentrationRiskPercentage1', window );">Total trade accounts receivable balance percentage</a></td>
<td class="nump">81.00%<span></span>
</td>
<td class="nump">81.00%<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=us-gaap_CustomerConcentrationRiskMember', window );">Customer Concentration Risk [Member] | Five Customers [Member] | Accounts Receivable [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_ConcentrationRiskLineItems', window );"><strong>Significant Customers [Line Items]</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_ConcentrationRiskPercentage1', window );">Total trade accounts receivable balance percentage</a></td>
<td class="nump">79.00%<span></span>
</td>
<td class="nump">81.00%<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_ConcentrationRiskLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</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 954<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478785/954-310-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_ConcentrationRiskLineItems</td>
</tr>
<tr>
<td style="padding-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_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_SalesTypeLeaseRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 sales-type lease 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> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-6A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479773/842-30-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_SalesTypeLeaseRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=us-gaap_CustomerConcentrationRiskMember</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_MajorCustomersAxis=esp_FiveCustomersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_MajorCustomersAxis=esp_FiveCustomersMember</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_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SalesRevenueNetMember</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>67
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm46621632951344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Employee Stock Ownership Plan (Details) - Employee Stock Ownership Plan [Member]<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Jun. 30, 2024 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Jun. 30, 2023 </div>
<div>USD ($) </div>
<div>shares</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_EmployeeStockOwnershipPlanESOPDisclosuresLineItems', window );"><strong>Employee Stock Ownership Plan [Line Items]</strong></a></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_esp_EmployeeStockOwnershipPlanHoursWorked', window );">Number of hours worked per year to qualify for the plan</a></td>
<td class="nump">1,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_DebtInstrumentInterestRateStatedPercentage', window );">Bear interest fixed rate</a></td>
<td class="nump">3.00%<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_EmployeeStockOwnershipPlanESOPCompensationExpense', window );">ESOP compensation expense | $</a></td>
<td class="nump">$ 438,136<span></span>
</td>
<td class="nump">$ 365,646<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_StockIssuedDuringPeriodSharesEmployeeBenefitPlan', window );">Shares distributed | shares</a></td>
<td class="nump">55,984<span></span>
</td>
<td class="nump">33,780<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_esp_EmployeeStockOwnershipPlanHoursWorked">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Minimum number of hours worked per year for nonunion employees to participate in ESOP.</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;">esp_EmployeeStockOwnershipPlanHoursWorked</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance 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_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</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(22)(a)(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/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="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_us-gaap_EmployeeStockOwnershipPlanESOPCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 plan compensation cost recognized 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> -Topic 718<br> -SubTopic 40<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480489/718-40-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_EmployeeStockOwnershipPlanESOPCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_EmployeeStockOwnershipPlanESOPDisclosuresLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</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_EmployeeStockOwnershipPlanESOPDisclosuresLineItems</td>
</tr>
<tr>
<td style="padding-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_StockIssuedDuringPeriodSharesEmployeeBenefitPlan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 to an employee benefit plan, such as a defined contribution or defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesEmployeeBenefitPlan</td>
</tr>
<tr>
<td style="padding-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_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis=esp_EmployeeStockOwnershipPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis=esp_EmployeeStockOwnershipPlanMember</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>68
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm46621633189216">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Employee Stock Ownership Plan (Details) - Schedule of ESOP Shares - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 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_EmployeeStockOwnershipPlanESOPSharesInESOPAbstract', window );"><strong>Schedule of ESOP Shares [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares', window );">Allocated shares</a></td>
<td class="nump">451,132<span></span>
</td>
<td class="nump">484,958<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_EmployeeStockOwnershipPlanESOPNumberOfSuspenseShares', window );">Unearned shares</a></td>
<td class="nump">211,487<span></span>
</td>
<td class="nump">233,645<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_EmployeeStockOwnershipPlanESOPSharesInESOP', window );">Total shares held by the ESOP</a></td>
<td class="nump">662,619<span></span>
</td>
<td class="nump">718,603<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_EmployeeStockOwnershipPlanESOPDeferredSharesFairValue', window );">Fair value of unearned shares (in Dollars)</a></td>
<td class="nump">$ 4,494,099<span></span>
</td>
<td class="nump">$ 3,913,554<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_EmployeeStockOwnershipPlanESOPDeferredSharesFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 unearned shares held by the 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> -Topic 718<br> -SubTopic 40<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480489/718-40-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_EmployeeStockOwnershipPlanESOPDeferredSharesFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 shares or units in an ESOP trust that have been assigned to individual participant accounts based on a known formula. IRS rules require allocations to be nondiscriminatory generally based on compensation, length of service, or a combination of both. For any particular participant such shares or units may be vested, unvested, or partially vested.</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 40<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480489/718-40-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_EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares</td>
</tr>
<tr>
<td style="padding-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_EmployeeStockOwnershipPlanESOPNumberOfSuspenseShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Shares contributed to the ESOP that have not yet been released, committed to be released, or allocated to participant accounts. Suspense shares generally collateralize ESOP debt.</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 40<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480489/718-40-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_EmployeeStockOwnershipPlanESOPNumberOfSuspenseShares</td>
</tr>
<tr>
<td style="padding-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_EmployeeStockOwnershipPlanESOPSharesInESOP">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 allocated, committed-to-be-released and suspense shares of the entity held by the 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> -Topic 718<br> -SubTopic 40<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480489/718-40-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_EmployeeStockOwnershipPlanESOPSharesInESOP</td>
</tr>
<tr>
<td style="padding-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_EmployeeStockOwnershipPlanESOPSharesInESOPAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EmployeeStockOwnershipPlanESOPSharesInESOPAbstract</td>
</tr>
<tr>
<td style="padding-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>69
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm46621637479040">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-based Compensation (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems', window );"><strong>Stock Based Compensation [Line Item]</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_AllocatedShareBasedCompensationExpense', window );">Stock based compensation expense</a></td>
<td class="nump">$ 283,673<span></span>
</td>
<td class="nump">$ 227,132<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_DeferredOtherTaxExpenseBenefit', window );">Deferred tax benefit</a></td>
<td class="nump">4,790<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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions', window );">Unrecognized compensation costs</a></td>
<td class="nump">$ 204,765<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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Period in which compensation cost will be recognized</a></td>
<td class="text">1 year 9 months<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Shares remain available for grant (in Shares)</a></td>
<td class="nump">80,969<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue', window );">Aggregate intrinsic value of options exercised</a></td>
<td class="nump">$ 195,236<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_AwardTypeAxis=esp_NonQualifiedStockOptionsMember', window );">Non-qualified Stock Options [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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems', window );"><strong>Stock Based Compensation [Line Item]</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_AllocatedShareBasedCompensationExpense', window );">Stock based compensation expense</a></td>
<td class="nump">34,903<span></span>
</td>
<td class="nump">21,432<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_DeferredOtherTaxExpenseBenefit', window );">Deferred tax benefit</a></td>
<td class="nump">7,330<span></span>
</td>
<td class="nump">$ 4,501<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions', window );">Unrecognized compensation costs</a></td>
<td class="nump">$ 22,809<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_SharePrice', window );">Dividends per share (in Dollars per share)</a></td>
<td class="nump">$ 0.675<span></span>
</td>
<td class="nump">$ 0.2<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_AwardTypeAxis=esp_IncentiveStockOptionMember', window );">Incentive Stock Options [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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems', window );"><strong>Stock Based Compensation [Line Item]</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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions', window );">Unrecognized compensation costs</a></td>
<td class="nump">$ 181,955<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=esp_TwoThousandSeventeenPlanMember', window );">2017 Plan [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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems', window );"><strong>Stock Based Compensation [Line Item]</strong></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_esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestCancelled', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Cancelled (in Shares)</a></td>
<td class="nump">143,973<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=esp_TwoThousandSeventeenPlanMember', window );">2017 Plan [Member] | Stock Options [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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems', window );"><strong>Stock Based Compensation [Line Item]</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">2 years<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Authorized shares under plan (in Shares)</a></td>
<td class="nump">400,000<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=esp_TwoThousandSeventeenPlanMember', window );">2017 Plan [Member] | Employee Stock [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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems', window );"><strong>Stock Based Compensation [Line Item]</strong></a></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_esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercised', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, exercised (in Shares)</a></td>
<td class="nump">31,325<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number (in Shares)</a></td>
<td class="nump">287,706<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=esp_TwoThousandSeventeenPlanMember', window );">2017 Plan [Member] | Non-Employee Directors [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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems', window );"><strong>Stock Based Compensation [Line Item]</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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease', window );">Aggregate number of common stock (in Shares)</a></td>
<td class="nump">133,000<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=esp_TwoThousandSeventeenPlanMember', window );">2017 Plan [Member] | Non-Employee Directors [Member] | Maximum [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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems', window );"><strong>Stock Based Compensation [Line Item]</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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease', window );">Aggregate number of common stock (in Shares)</a></td>
<td class="nump">13,300<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_esp_PercentageOfTotalNumberOfSharesSubjectToOptionsOrAwardsSingleFiscalYear', window );">Percentage of total number of shares subject to options or awards, single fiscal year</a></td>
<td class="text">33 1/3 %<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=esp_TwoThousandSeventeenPlanMember', window );">2017 Plan [Member] | Individual Employee [Member] | Maximum [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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems', window );"><strong>Stock Based Compensation [Line Item]</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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease', window );">Aggregate number of common stock (in Shares)</a></td>
<td class="nump">15,000<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=esp_TwoThousandSevenPlanMember', window );">2007 Plan [Member] | Restricted Stock Plan [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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems', window );"><strong>Stock Based Compensation [Line Item]</strong></a></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_esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionOutstandingNumber', window );">Outstanding shares (in Shares)</a></td>
<td class="nump">34,350<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_esp_PercentageOfTotalNumberOfSharesSubjectToOptionsOrAwardsSingleFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 total number of shares subject to options or awards, single fiscal year.</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;">esp_PercentageOfTotalNumberOfSharesSubjectToOptionsOrAwardsSingleFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</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_esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 options outstanding, including both vested and non-vested options.</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;">esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</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_esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestCancelled">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fully vested and expected to vest options, cancelled.</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;">esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestCancelled</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</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_esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fully vested and expected to vest options exercised.</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;">esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</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_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_DeferredOtherTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of other deferred income tax expense (benefit) pertaining to income (loss) from continuing operations. For example, but not limited to, acquisition-date income tax benefits or expenses recognized from changes in the acquirer's valuation allowance for its previously existing deferred tax assets resulting from a business combination and adjustments to beginning-of-year balance of a valuation allowance because of a change in circumstance causing a change in judgment about the realizability of the related deferred tax asset in future periods.</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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br><br>Reference 2: 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(h)(1)(Note 1))<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_DeferredOtherTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</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 (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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance 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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 cost to be recognized for option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.</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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 authorized for issuance 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/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized</td>
</tr>
<tr>
<td style="padding-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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.</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)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</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 (e)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems</td>
</tr>
<tr>
<td style="padding-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_SharePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Price of a single share of a number of saleable stocks of a company.</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_SharePrice</td>
</tr>
<tr>
<td style="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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 increase (decrease) of non-vested options.</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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-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=esp_NonQualifiedStockOptionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=esp_NonQualifiedStockOptionsMember</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_AwardTypeAxis=esp_IncentiveStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=esp_IncentiveStockOptionMember</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=esp_TwoThousandSeventeenPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=esp_TwoThousandSeventeenPlanMember</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_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=us-gaap_EmployeeStockOptionMember</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_AwardTypeAxis=us-gaap_EmployeeStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=us-gaap_EmployeeStockMember</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_TitleOfIndividualAxis=esp_NonEmployeeDirectorsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TitleOfIndividualAxis=esp_NonEmployeeDirectorsMember</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_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RangeAxis=srt_MaximumMember</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_TitleOfIndividualAxis=esp_IndividualEmployeeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TitleOfIndividualAxis=esp_IndividualEmployeeMember</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=esp_TwoThousandSevenPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=esp_TwoThousandSevenPlanMember</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_AwardTypeAxis=esp_RestrictedStockPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=esp_RestrictedStockPlanMember</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>70
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm46621632655248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-based Compensation (Details) - Schedule of Weighted Average Assumptions of Option Award - $ / shares<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 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_FairValueInputsQuantitativeInformationAbstract', window );"><strong>Schedule of Outlines the Weighted Average Assumptions [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate', window );">Dividend yield</a></td>
<td class="nump">3.61%<span></span>
</td>
<td class="nump">0.03%<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Expected stock price volatility</a></td>
<td class="nump">31.21%<span></span>
</td>
<td class="nump">27.20%<span></span>
</td>
</tr>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Risk-free interest rate</a></td>
<td class="nump">4.39%<span></span>
</td>
<td class="nump">2.71%<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_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected option life (in years)</a></td>
<td class="text">5 years 3 months 18 days<span></span>
</td>
<td class="text">5 years 4 months 24 days<span></span>
</td>
</tr>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted average fair value per share of options granted during the period (in Dollars per share)</a></td>
<td class="nump">$ 4.11<span></span>
</td>
<td class="nump">$ 4.18<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_FairValueInputsQuantitativeInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FairValueInputsQuantitativeInformationAbstract</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</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)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.</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 (f)(2)(iii)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over 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 (f)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 risk-free interest rate assumption that is used in valuing an option on its own shares.</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 (f)(2)(iv)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate</td>
</tr>
<tr>
<td style="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_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</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 (f)(2)(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_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance 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>71
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm46621633370832">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-based Compensation (Details) - Schedule of Stock Option Activity - Equity Option [Member] - USD ($)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 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_esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems', window );"><strong>Stock-based Compensation (Details) - Schedule of Stock Option Activity [Line Items]</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of Shares Subject to Option, Ending</a></td>
<td class="nump">296,331<span></span>
</td>
<td class="nump">322,056<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted Average Exercise Price, Ending</a></td>
<td class="nump">$ 19.15<span></span>
</td>
<td class="nump">$ 18.41<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_esp_SharebasedCompensationArrangementsBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Weighted Average Remaining Contractual Term, Ending</a></td>
<td class="text">6 years 5 months 26 days<span></span>
</td>
<td class="text">6 years 7 months 2 days<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Aggregate Intrinsic Value, Ending</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 1,259,317<span></span>
</td>
</tr>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber', window );">Number of Shares Subject to Option, Vested or expected to vest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">313,205<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice', window );">Weighted Average Exercise Price, Vested or expected to vest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 18.45<span></span>
</td>
</tr>
<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1', window );">Weighted Average Remaining Contractual Term, Vested or expected to vest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">6 years 6 months 7 days<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue', window );">Aggregate Intrinsic Value, Vested or expected to vest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,212,613<span></span>
</td>
</tr>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Number of Shares Subject to Option, Exercisable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">174,756<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice', window );">Weighted Average Exercise Price, Exercisable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 20.98<span></span>
</td>
</tr>
<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_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTerm2', window );">Weighted Average Remaining Contractual Term, Exercisable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">4 years 9 months 29 days<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1', window );">Aggregate Intrinsic Value, Exercisable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 382,667<span></span>
</td>
</tr>
<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 );">Number of Shares Subject to Option, Granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">80,900<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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price, Granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 16.78<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_esp_WeightedAverageRemainingContrSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTermactualTermGranted', window );">Weighted Average Remaining Contractual Term, Granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">9 years 2 months 19 days<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_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Number of Shares Subject to Option, Exercised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(31,325)<span></span>
</td>
</tr>
<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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price, Exercised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 16.8<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod', window );">Number of Shares Subject to Option, Forfeited or expired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(23,850)<span></span>
</td>
</tr>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price, Forfeited or expired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 24.3<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_esp_SharebasedCompensationArrangementsBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">esp_SharebasedCompensationArrangementsBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance 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_esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</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_esp_WeightedAverageRemainingContrSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTermactualTermGranted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represent the weighted average remaining contractual term, Granted.</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;">esp_WeightedAverageRemainingContrSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTermactualTermGranted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.</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)(iii)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired.</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 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 price of options that were either forfeited or expired.</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 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 options outstanding, including both vested and non-vested 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)(1)(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)(1)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 price at which grantees can acquire the shares reserved for issuance under the stock option plan.</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)(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)(1)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</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 (e)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</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 (e)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</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 (e)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</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 (e)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 price at which option holders acquired shares when converting their stock options into shares.</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)(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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 per share amount at which grantees can acquire shares of common stock by exercise of 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)(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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.</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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</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 (e)(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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance 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_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 remaining contractual term of exercisable stock options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</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 718<br> -SubTopic 10<br> -Subparagraph (e)(2)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<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_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance 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_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 share options (or share units) exercised during the current 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 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://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)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: 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_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-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=us-gaap_StockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=us-gaap_StockOptionMember</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>72
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm46621632693264">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-based Compensation (Details) - Schedule of Changes in Non-Vested Stock Options<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Jun. 30, 2024 </div>
<div>$ / shares </div>
<div>shares</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract', window );"><strong>Schedule of Changes in Non-Vested Stock Options [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares', window );">Weighted Number of Shares Subject to Option, Non-vested Beginning | shares</a></td>
<td class="nump">132,600<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Average Grant Date Fair Value (per Option), Non-vested Beginning | $ / shares</a></td>
<td class="nump">$ 3.98<span></span>
</td>
</tr>
<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 );">Weighted Number of Shares Subject to Option, Granted | shares</a></td>
<td class="nump">80,900<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 );">Average Grant Date Fair Value (per Option), Granted | $ / shares</a></td>
<td class="nump">$ 4.11<span></span>
</td>
</tr>
<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares', window );">Weighted Number of Shares Subject to Option, Vested | shares</a></td>
<td class="num">(60,700)<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue', window );">Average Grant Date Fair Value (per Option), Vested | $ / shares</a></td>
<td class="nump">$ 3.74<span></span>
</td>
</tr>
<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares', window );">Weighted Number of Shares Subject to Option, Forfeited or expired | shares</a></td>
<td class="num">(5,500)<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 );">Average Grant Date Fair Value (per Option), Forfeited or expired | $ / shares</a></td>
<td class="nump">$ 4.04<span></span>
</td>
</tr>
<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares', window );">Weighted Number of Shares Subject to Option, Non-vested Ending | shares</a></td>
<td class="nump">147,300<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Average Grant Date Fair Value (per Option), Non-vested Ending | $ / shares</a></td>
<td class="nump">$ 4.15<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-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_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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 non-vested options outstanding.</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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares</td>
</tr>
<tr>
<td style="padding-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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares</td>
</tr>
<tr>
<td style="padding-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_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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 outstanding.</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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares</td>
</tr>
<tr>
<td style="padding-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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm46621638464496">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Concentration of Credit Risk (Details)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 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_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Customer Concentration Risk [Member] | Five Customers [Member] | Accounts Receivable [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_ConcentrationRiskLineItems', window );"><strong>Concentration of Credit Risk [Line Items]</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_ConcentrationRiskPercentage1', window );">Total accounts receivable balance percentage</a></td>
<td class="nump">79.00%<span></span>
</td>
<td class="nump">81.00%<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_ConcentrationRiskLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</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 954<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478785/954-310-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_ConcentrationRiskLineItems</td>
</tr>
<tr>
<td style="padding-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_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_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=us-gaap_CustomerConcentrationRiskMember</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_MajorCustomersAxis=esp_FiveCustomersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_MajorCustomersAxis=esp_FiveCustomersMember</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>74
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm46621632394352">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Commitments and Contingencies (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 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_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LettersOfCreditOutstandingAmount', window );">Contingent liabilities on outstanding standby letters of credit agreements</a></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_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_LettersOfCreditOutstandingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the contingent obligation under letters of credit outstanding as of the reporting date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LettersOfCreditOutstandingAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>75
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm46621632658384">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity (Details) - $ / shares<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 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_StockholdersEquityNoteAbstract', window );"><strong>Stockholders' Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Purchase shares of common stock</a></td>
<td class="nump">62,691<span></span>
</td>
<td class="nump">130,656<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_CommonStockDividendsPerShareCashPaid', window );">Common stock cash dividend per share</a></td>
<td class="nump">$ 0.675<span></span>
</td>
<td class="nump">$ 0.2<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_CommonStockDividendsPerShareCashPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 dividends paid during the period for each share of common stock outstanding.</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 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_CommonStockDividendsPerShareCashPaid</td>
</tr>
<tr>
<td style="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_StockholdersEquityNoteAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StockholdersEquityNoteAbstract</td>
</tr>
<tr>
<td style="padding-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>76
<FILENAME>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm46621738883120">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Stockholders' Equity (Details) - Schedule of Reserved Common Shares for Future Issuance - Common Stock [Member]<br></strong></div></th>
<th class="th">
<div>Jun. 30, 2024 </div>
<div>shares</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_TemporaryEquityLineItems', window );"><strong>Schedule of Reserved Common Shares for Future Issuance [Line Items]</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Stock options outstanding</a></td>
<td class="nump">322,056<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 );">Stock options available for issuance</a></td>
<td class="nump">80,969<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_CommonStockCapitalSharesReservedForFutureIssuance', window );">Number of common shares reserved</a></td>
<td class="nump">403,025<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_CommonStockCapitalSharesReservedForFutureIssuance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 number of common shares reserved for future issuance.</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_CommonStockCapitalSharesReservedForFutureIssuance</td>
</tr>
<tr>
<td style="padding-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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 options outstanding, including both vested and non-vested 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)(1)(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)(1)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-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_TemporaryEquityLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</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_TemporaryEquityLineItems</td>
</tr>
<tr>
<td style="padding-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_StatementEquityComponentsAxis=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementEquityComponentsAxis=us-gaap_CommonStockMember</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>77
<FILENAME>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm46621632532784">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity (Details) - Schedule of Reconciliation of the Numerators and Denominators of the Basic and Diluted Earnings Per Share Computations - USD ($)<br></strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Sep. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Sep. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 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_StockholdersEquityAbstract', window );"><strong>Schedule of Reconciliation of the Numerators and Denominators of the Basic and Diluted Earnings Per Share Computations [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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>
<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 (in Dollars)</a></td>
<td class="nump">$ 1,893,296<span></span>
</td>
<td class="nump">$ 1,031,930<span></span>
</td>
<td class="nump">$ 1,795,370<span></span>
</td>
<td class="nump">$ 1,094,544<span></span>
</td>
<td class="nump">$ 895,535<span></span>
</td>
<td class="nump">$ 867,288<span></span>
</td>
<td class="nump">$ 1,146,042<span></span>
</td>
<td class="nump">$ 768,266<span></span>
</td>
<td class="nump">$ 5,815,140<span></span>
</td>
<td class="nump">$ 3,677,131<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>Basic EPS:</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>
<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_CommonStockOtherSharesOutstanding', window );">Common shares outstanding, beginning of period</a></td>
<td class="nump">2,702,633<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,702,633<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,702,633<span></span>
</td>
<td class="nump">2,702,633<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_WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased', window );">Unearned ESOP shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(233,645)<span></span>
</td>
<td class="num">(256,293)<span></span>
</td>
</tr>
<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 );">Weighted average common shares issued during the period</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,837<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesContingentlyIssuable', window );">Weighted average ESOP shares earned during the period</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,340<span></span>
</td>
<td class="nump">8,516<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Denominator for basic earnings per common shares &#8211; Weighted average common shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,489,165<span></span>
</td>
<td class="nump">2,454,856<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_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>Diluted EPS:</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>
<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_CommonStockOtherSharesOutstanding', window );">Common shares outstanding, beginning of period</a></td>
<td class="nump">2,702,633<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,702,633<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,702,633<span></span>
</td>
<td class="nump">2,702,633<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_WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased', window );">Unearned ESOP shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(233,645)<span></span>
</td>
<td class="num">(256,293)<span></span>
</td>
</tr>
<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_WeightedAverageNumberOfSharesCommonStockSubjectToRepurchaseOrCancellation', window );">Weighted average common shares issued during the period</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,837<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesContingentlyIssuable', window );">Weighted average ESOP shares earned during the period</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,340<span></span>
</td>
<td class="nump">8,516<span></span>
</td>
</tr>
<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_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Weighted average dilutive effect of stock options</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">47,802<span></span>
</td>
<td class="nump">16,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_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Denominator for diluted earnings per common shares &#8211; Weighted average common shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,536,967<span></span>
</td>
<td class="nump">2,471,016<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_CommonStockOtherSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 other common stock instruments held by shareholder, including, but not limited to, exchangeable shares.</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_CommonStockOtherSharesOutstanding</td>
</tr>
<tr>
<td style="padding-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_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock 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 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480454/718-10-45-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 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 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-22<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-23<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-28A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements</td>
</tr>
<tr>
<td style="padding-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_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 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<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 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: 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 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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 12: 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 13: 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 14: 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 15: 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 16: 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 17: 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/2147479168/946-830-55-10<br><br>Reference 18: 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/2147479105/946-220-45-7<br><br>Reference 19: 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/2147477250/944-220-S99-1<br><br>Reference 20: 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/2147479134/946-220-S99-1<br><br>Reference 21: 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/2147479134/946-220-S99-3<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)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: 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 24: 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 25: 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 26: 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 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)(i))<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)(4)(iii)(A))<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 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 30: 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 31: 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 32: 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 33: 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 34: 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 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://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/2147478524/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_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_WeightedAverageNumberOfSharesCommonStockSubjectToRepurchaseOrCancellation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 subject to repurchase or cancellation determined by relating the portion of time within a reporting period that these shares have been outstanding to the total time in that period. Common stock subject to repurchase are outstanding common shares that are contingently returnable (that is, subject to recall).</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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesCommonStockSubjectToRepurchaseOrCancellation</td>
</tr>
<tr>
<td style="padding-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_WeightedAverageNumberOfSharesContingentlyIssuable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Shares issuable for little or no cash consideration upon the satisfaction of certain conditions (contingently issuable shares) are considered outstanding common shares and included in the computation of basic Earnings Per Share as of the date that all necessary conditions have been satisfied (in essence, when issuance of the shares is no longer contingent). Outstanding common shares that are contingently returnable (that is, subject to recall) are treated in the same manner as contingently issuable shares. Contingently issuable shares include shares that (a) will be issued in the future upon the satisfaction of specified conditions, (b) have been placed in escrow and all or part must be returned if specified conditions are not met, or (c) have been issued but the holder must return all or part if specified conditions are not met. The number of contingently issuable shares is determined by relating the portion of time within a reporting period that these shares 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://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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesContingentlyIssuable</td>
</tr>
<tr>
<td style="padding-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_WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 employee stock ownership plan (ESOP) shares that have not been committed to be released determined by relating the portion of time within a reporting period that these shares 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 40<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480520/718-40-45-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_WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased</td>
</tr>
<tr>
<td style="padding-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_WeightedAverageNumberOfSharesOutstandingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_WeightedAverageNumberOfSharesOutstandingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -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>
<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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>78
<FILENAME>R63.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm46621637242640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Line of Credit (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Jun. 30, 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_LineOfCreditFacilityAbstract', window );"><strong>Line of Credit [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity', window );">Borrowing capacity</a></td>
<td class="nump">$ 3,000,000<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_esp_FloatingRatePercentage', window );">Floating rate percentage</a></td>
<td class="nump">2.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_esp_FloatingRatePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Floating rate percentage.</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;">esp_FloatingRatePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>esp_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr: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_LineOfCreditFacilityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LineOfCreditFacilityAbstract</td>
</tr>
<tr>
<td style="padding-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_LineOfCreditFacilityCurrentBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 borrowing capacity under the credit facility considering any current restrictions on the amount that could be borrowed (for example, borrowings may be limited by the amount of current assets), but without considering any 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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(b))<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(19)(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_LineOfCreditFacilityCurrentBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>79
<FILENAME>R64.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm46621633213408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Quarterly Financial Information (Details) - Schedule of Quarterly Financial Information - USD ($)<br></strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Sep. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Sep. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 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_QuarterlyFinancialInformationDisclosureAbstract', window );"><strong>Quarterly Financial Information (Unaudited) [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenues</a></td>
<td class="nump">$ 11,610,911<span></span>
</td>
<td class="nump">$ 8,254,653<span></span>
</td>
<td class="nump">$ 10,302,541<span></span>
</td>
<td class="nump">$ 8,568,214<span></span>
</td>
<td class="nump">$ 8,342,803<span></span>
</td>
<td class="nump">$ 9,809,616<span></span>
</td>
<td class="nump">$ 8,804,109<span></span>
</td>
<td class="nump">$ 8,635,795<span></span>
</td>
<td class="nump">$ 38,736,319<span></span>
</td>
<td class="nump">$ 35,592,323<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross Profit</a></td>
<td class="nump">3,200,917<span></span>
</td>
<td class="nump">2,064,191<span></span>
</td>
<td class="nump">3,142,575<span></span>
</td>
<td class="nump">2,245,377<span></span>
</td>
<td class="nump">2,004,245<span></span>
</td>
<td class="nump">1,973,429<span></span>
</td>
<td class="nump">2,260,722<span></span>
</td>
<td class="nump">1,812,142<span></span>
</td>
<td class="nump">10,653,060<span></span>
</td>
<td class="nump">8,050,538<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_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 1,893,296<span></span>
</td>
<td class="nump">$ 1,031,930<span></span>
</td>
<td class="nump">$ 1,795,370<span></span>
</td>
<td class="nump">$ 1,094,544<span></span>
</td>
<td class="nump">$ 895,535<span></span>
</td>
<td class="nump">$ 867,288<span></span>
</td>
<td class="nump">$ 1,146,042<span></span>
</td>
<td class="nump">$ 768,266<span></span>
</td>
<td class="nump">$ 5,815,140<span></span>
</td>
<td class="nump">$ 3,677,131<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 );">Earnings Per Share, Basic (in Dollars per share)</a></td>
<td class="nump">$ 0.76<span></span>
</td>
<td class="nump">$ 0.41<span></span>
</td>
<td class="nump">$ 0.73<span></span>
</td>
<td class="nump">$ 0.44<span></span>
</td>
<td class="nump">$ 0.37<span></span>
</td>
<td class="nump">$ 0.35<span></span>
</td>
<td class="nump">$ 0.47<span></span>
</td>
<td class="nump">$ 0.31<span></span>
</td>
<td class="nump">$ 2.34<span></span>
</td>
<td class="nump">$ 1.5<span></span>
</td>
</tr>
<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 );">Earnings Per Share, Diluted (in Dollars per share)</a></td>
<td class="nump">$ 0.73<span></span>
</td>
<td class="nump">$ 0.4<span></span>
</td>
<td class="nump">$ 0.72<span></span>
</td>
<td class="nump">$ 0.44<span></span>
</td>
<td class="nump">$ 0.36<span></span>
</td>
<td class="nump">$ 0.35<span></span>
</td>
<td class="nump">$ 0.47<span></span>
</td>
<td class="nump">$ 0.31<span></span>
</td>
<td class="nump">$ 2.29<span></span>
</td>
<td class="nump">$ 1.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_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 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: 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 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<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 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 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 (e)(4)<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 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 9: 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 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 (b)<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 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<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 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: 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 14: 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 15: 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 16: 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 17: 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 18: 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/2147478524/942-220-S99-1<br><br>Reference 19: 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/2147477250/944-220-S99-1<br><br>Reference 20: 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 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: 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 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<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 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 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 (e)(4)<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 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 9: 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 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 (b)<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 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<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 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: 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 14: 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 15: 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 16: 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 17: 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/2147478524/942-220-S99-1<br><br>Reference 18: 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/2147477250/944-220-S99-1<br><br>Reference 19: 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/2009/role/commonPracticeRef<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/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<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/2009/role/commonPracticeRef<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 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 8: 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><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(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 10: 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 11: 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 12: 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 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)(i))<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)(ii))<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/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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<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 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: 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 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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 12: 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 13: 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 14: 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 15: 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 16: 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 17: 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/2147479168/946-830-55-10<br><br>Reference 18: 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/2147479105/946-220-45-7<br><br>Reference 19: 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/2147477250/944-220-S99-1<br><br>Reference 20: 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/2147479134/946-220-S99-1<br><br>Reference 21: 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/2147479134/946-220-S99-3<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)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: 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 24: 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 25: 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 26: 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 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)(i))<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)(4)(iii)(A))<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 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 30: 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 31: 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 32: 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 33: 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 34: 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 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://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/2147478524/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_QuarterlyFinancialInformationDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_QuarterlyFinancialInformationDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<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 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<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 (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 7: 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 8: 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 9: 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 10: 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 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)(ii))<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/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 21: 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 22: 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 23: 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 24: 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 25: 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/2147477314/942-235-S99-1<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>80
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( #N .UD'04UB@0   +$    0    9&]C4')O<',O87!P+GAM
M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG
M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGD<Z,STA)8*O4'J@)I9GF
M3?X.CD:?<@X>K7A.YNJQ<&4GPZ4A!0W_<FW>J=0U[R;UEA_6\#MI7E!+ P04
M    "  [@#M9='G9-.\    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9+!
M3L,P#(9?!>7>.LT&B*CK!;33D)"8!.(6)=X6K6FBQ*C=V].&K1."!^ 8^\_G
MSY)K':3V$5^B#QC)8KH97-LEJ<.*'8B"!$CZ@$ZE<DQT8W/GHU,T/N,>@M)'
MM4<0G-^!0U)&D8()6(29R)K::*DC*O+QC#=ZQH?/V&:8T8 M.NPH0556P)II
M8C@-;0U7P 0CC"Y]%]#,Q%S]$YL[P,[)(=DYU?=]V2]R;MRA@O?GS6M>M[!=
M(M5I''\E*^D4<,4ND]\6CT_;-6L$%\N"/Q3B?BNXY)5<WGY,KC_\KL+.&[NS
M_]CX(MC4\.LNFB]02P,$%     @ .X [69E<G",0!@  G"<  !,   !X;"]T
M:&5M92]T:&5M93$N>&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M
M3A^%$5B-;'EDD81_OT<V$,N6#>V23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R
M>&#9+]O6N[<OWN!7,B0103 9IZ_PP JE3%ZU6FD PSA]R1,2P]R"BPA+>!3+
MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,!
M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K
MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2
MBW <!.!1NY["G?1LOZ1!";2C:=!DV/;:KI&FJHU33]/W?=_KFVB<"HU;3]-K
M=]W3CHG&K=!X#;[Q3X?#KHG&J]!TZVDF)_VN:Z3I%FA"1N/K>A(5M>5 TR
M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$
MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7<K_WUE[O)I#-ZG7TZSFN4
M?VFK :?MNYO/D_QSZ.2?IY/734+.<+PL"?'[(UMAAR=N.Q-R.AQG0GS/]O:1
MI24RS^_Y"NM./&<?5I:P7<_/Y)Z,<B.[W?98??9/1VXCUZG LR+7E$8D19_(
M+;KD$3BU20TR$S\(G8:8:E < J0),9:AAOBTQJP1X!-]M[X(R-^-B/>K;YH]
M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M
MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZ<TT#PE"\D^DJ1CVFS(Z=T)LWH
M,QK!1J\;=8=HTCQZ_@7YG#4*')$;'0)G&[-&(81IN_ >KR2.FJW"$2M"/F(9
M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+
MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T
M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+
M.7\N?<^E[[GT/:'2MS<C?6?!TXM;WD9N6\3[KC':US0N*&-7<LW(QU2ODRG8
M.9_ [/UH/I[Q[?K9)(2OFEDM(Q:02X&S022X_(O*\"K$">AD6R4)RU3393>*
M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.W<DOJMI2^M28X
M2O2QS'!.'LL,.V<\DAVV=Z =-?OV77;D(Z4P4Y=#N!I"O@-MNIW<.CB>F)&Y
M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_#
M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0
MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR
ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC
MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYN<KGHB=OJ7
M=\%@\OUPR4</Y3OG7_1=0ZY^]MWC^FZ3.TA,G'G%$0%T10(CE1P&%A<RY%#N
MDI &$P'-E,E$\ *"9*8<@)CZ"[WR#+DI%<ZM/CE_12R#ADY>TB42%(JP# 4A
M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF
M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.'<YMZN,)%K/]8UA[Y,M\Y<-LZW@->
MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_
M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]!
MU4#E/]O4#6CV#30<D05>,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04
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
M2@_PA"+0TJA>J$JCT[59P'[Q?[!,<63/HNR_]EG]([JH:ZLUZ!B39"QCMGD
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
M,5,G'M0H/6$BMMJ8'KSRV[QD_E=2/:3RU)#Q>YEIO7:EOJKM>]O;"U&NV[>
M/Y5"E'G[<<63):^: /G[?5F*;Q?-B\6[M^=G_P%02P,$%     @ .X [6;T3
MU(BB @  B@8  !@   !X;"]W;W)K<VAE971S+W-H965T-RYX;6RM55UOVC 4
M_2M6-FVMU)&0 &4=1"JTTS:I&BKJ]C#MP2078C6Q4]L!^N]W;8<44,KVL)?X
MZ][C<Z[MD]%&R$>5 6BR+7*NQEZF=7GE^RK)H*"J(TK@N+(4LJ :AW+EJU("
M36U2D?MA$ S\@C+NQ2,[-Y/Q2%0Z9QQFDJBJ**A\GD N-F.OZ^TF[MDJTV;"
MCT<E7<$<]$,YDSCR&Y24%< 5$YQ(6(Z]Z^[5M&_B;< /!ANUUR=&R4*(1S/X
MFHZ]P!""'!)M$"@V:YA"GAL@I/%48WK-EB9QO[]#_VRUHY8%53 5^4^6ZFSL
M#3V2PI)6N;X7FR]0Z[$$$Y$K^R4;%WL9>22IE!9%G8P,"L9=2[=U'?82NH-7
M$L(Z(3Q.Z+V2$-4)D17JF%E9-U33>"3%AD@3C6BF8VMCLU$-X^84YUKB*L,\
M'<\UU8"GHA412S+-*%^!(HR3N1;)8R;R%*1Z3VZ?*J:?R=F,2HS-0+.$YNJ<
M?" /\QMR]O9\Y&MD8S#]I-YYXG8.7]FY&Y([@5B*W/(4TD, 'V4T6L*=EDEX
M$O%;Q3LD"BY(&(2]%D+3?T^/3M")FM)&%B_Z6VE-95O+^>MZH;3$F_R[K7P.
MO=>.;E[WE2II F,/GZ\"N08O?O>F.P@^M4G_3V 'A>@UA>B=0H^_XX61)!$%
M8F?& -: -PS'<$$XV/)HNFTK@</M6USC1^NX.QSBT:[WI;4$!2\Q!XS[#>/^
M2<8W;,U2X*DB)64I0;M!M@4VRAPC*5&.RO IM'%VR!_WZ 2=P67_B+2+&AY$
MA4>D_;UG78!<6;=32*7BVKV*9K8QU&OK(T?S$S1:YXLO,,ZE[ZA<,:Y(#DN$
M##J7R$LZYW,#+4IK'@NAT8IL-\.?!4@3@.M+(?1N8#9H?C_Q'U!+ P04
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
M/!6E%H#O5U*JEQO] ^W?2"S_#U!+ P04    "  [@#M9;##4K;@"   /!@
M&    'AL+W=O<FMS:&5E=',O<VAE970Y+GAM;)5544_;,!!^YU><,HEMTM2T
M:6$(VDJ4,6V3V!",[6':@YM<&@O'-O:%TG^_L]-F18*.O20^WWW??>?X+N.E
M<;>^0B1XJ)7VDZ0BLL=IZO,*:^%[QJ)F3VE<+8A-MTB]=2B*"*I5FO7[AVDM
MI$ZFX[AWZ:9CTY"2&B\=^*:NA5O-4)GE)!DDFXTKN:@H;*33L14+O$:ZL9>.
MK;1C*62-VDNCP6$Y24X'Q[-1B(\!/R0N_=8:0B5S8VZ#\;F8)/T@"!7F%!@$
MO^[Q#)4*1"SC;LV9="D#<'N]8?\8:^=:YL+CF5$_94'5)#E*H,!2-(JNS/(3
MKNLY"'RY43X^8=G&#K,$\L:3J==@5E!+W;[%P_H<M@!'_6< V1J01=UMHJCR
M@R Q'3NS!!>BF2TL8JD1S>*D#A_EFAQ[)>-H^E50XQ!,"=\L.A%.RH]38N;@
M3_,URZQER9YA&61P8315'LYU@<5C@I0E=;JRC:Y9MI/Q2Z-[,.R_@ZR?C7;P
M#;LZAY%O^!]UPJ_3N2?'%^/W4R6WA*.G"4.S''LK<IPDW T>W3TFT_U7@\/^
MR0ZYHT[N:!?[BS_+/U@,(0QZT++M/2[^W%M<P46YZ,&^J.T)G(=.<4;+W,.9
M<;8';ZA"7M96Z-7;/>E!\-733<DGQGPNR,,.!'C72,O]2M!X+, ZR6TNU0JD
MYINK)''3@] %VP5?;">% F&MDGFKJ ??.1W#="XM^QA]B^2!)P]L"7GM]ZPS
M19.S2_ 9Y7%;HN<@08PW][+ ;6&^L=8X C(P-U2]2 R/"V>\CXEOM"0NZ)H$
M<98 XCS>U+@G-:'3$<%X93:5/'4#TJTFK=$MXBCR++_1U/9KM]M-N].VR?^&
MMZ/R0KB%9(T*2X;V>^\/$G#M^&D-,C:V/)?+ R0N*Y[8Z$( ^TO#-V-MA 3=
M/V#Z!U!+ P04    "  [@#M9_SKCS:X6  #@/0  &0   'AL+W=O<FMS:&5E
M=',O<VAE970Q,"YX;6RE6VF/VTB2_<Y?0=0,!C:@4ET^>GP!Y6O6@^X>P^6>
MQF*Q'R@R)66;(M5,LJK4OW[?B\A,)E6J\LP.T&B7R#SBCA>1R5<W;??-K8WI
M\]M-W;C71^N^W[XX.7'EVFP*-V^WIL&;9=MMBAX_N]6)VW:FJ&32ICXY/SU]
M=K(I;'/TYI4\^]R]>=4.?6T;\[G+W;#9%-WNK:G;F]='9T?AP1>[6O=\</+F
MU;98F2O3_[+]W.'725RELAO3.-LV>6>6KX\NSUZ\?<+Q,N"?UMRXY.^<G"S:
M]AM_?*I>'YV2(%.;LN<*!?ZY-N],77,AD/&[7_,H;LF)Z=]A]8_".WA9%,Z\
M:^M?;=6O7Q_]<)179ED,=?^EO?DOX_EYRO7*MG;R__Q&QSY]<I27@^O;C9\,
M"C:VT7^+6R^'9,(/I_=,./<3SH5NW4BH?%_TQ9M777N3=QR-U?B'L"JS09QM
MJ)2KOL-;BWG]FRM51MXN\RN[:NS2ED73YY=EV0Y-;YM5_KFM;6F->W728S_.
M.BG]VF]U[?-[UCX[SW]JFW[M\@]-9:KI B<@-%)['JA]>_[@BG\?FGE^<3K+
MST_/GSRPWD7D_D+6N_B/N<__YW+A^@Y&]+^'!*';/#F\#1WKA=L6I7E]!,]Q
MIKLV1V_^\J>S9Z<O'V#B263BR4.K_X<J?'CMG]O>Y.?S_-\0U!=S;9K!Y%_7
M!H;Z6]O97N:U V)!46-$T9E\91K3%;VI\F77;F#9M>VQ05;"8"AEI\_A7P@
M)B_;S;9HL/PL[['N>[,MNAZQH>?*[W70+&_QKLL12QJA!*\X>-5>FZX)@_GD
ME\9RYZL>!("<!D2T'?RW2<:Z68:',KPRCN\XK@)S=;N5Q?#[!",V13,L0?$
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
M=]9\DZ7E]0?&\DB7I$_M([8E;R;898J1L/+>^;4XKG.#P'V$.07ZJF%SRZL
M3GO]F 'BM:?7MUDZ6@U1:;@>Z_;EA*O6=RYELRI()A:9$C63KF$U,IV@^EB/
MR;X1S(_-G^D ?X WBYO+-8*V@2FOH0I IWVBX[E"T%0*[O40+9%2)6@G2SH)
M;$":ROFC"17?]%35DS(7UCNSYDU$[._;6=.'WHI\F2H^FA@7^PE!FP=F/:)C
M/Y[G_[A_""UM:1U3AS9Q#&_4?:=:=HH!0[V736O71QI.'O]KU2E4IUGX0\QZ
M>BZC-:AOS1YHGFF7NY5S/^";3"\XC'@:(L>,+3O8(X[ >[/U]G7WPA:;A< J
M2*0C:D9J+/3.C<+F;^EM(H%S24^>OI<5:D=R02=62WHGA@'X_JY>!3W4"F'$
MS(0/W_8_.$<WJ03T+:=-QBR14TBH>]2D37)_Q!).L]2JDTG^ZH0$HTL]J X'
MWQIJM,47;ERQ_1>E-!=$V?00_V75BO0/ECV?&C6[\].S9WJ<P!(M1(O+JU_D
MS?'916P?Q9HJ2VJJXRE$?:0]Y(OS9X]?Y#]I&1&N[$U'PM(.%FD^ <VTGAKS
M4)%8I6AH;*G>K9WUH""<Q,G!ZW@^3X_V%K+7&O57KGB^(O:]'#KUY;KH8HWH
M,CD0E8LRG1<URL]#*'F&7%\TZ>'NX:IH$IG#S:L(P'EB2:C"Z'$#W1W7;?M-
MFLB!>H8 $%29FGW8]=AL,./1=S*&42CT7J02F^"24,?ZO.>?2IYCTAAO?+V;
M3$N/\>_&H>Q.BZZ;<I@>PH6BX3L0,655&FD"Y/0.3A/NQMVQBLS[;AH3$VLG
MR-#4%&X0;0<4_J46\];WU"8Q?&%6ME%(R#N&^7L8@*"-LZ>*Y]*["98PVFXR
M=6_M*PNUK=2*X[*(U+P\652:OV:>(22,&(Y3LI,+7MMM;<.=$&@KGEI$IY +
M:;I_-GK'PPJ\FTAH\7(/\7[#GMCUD+*C5N[/.=8F2Q@3NC?2E#'5<6?ZA 4I
M&HMR/:W@"A_GU+EO\M5@M1>N':J)=L/I4 =[^'THNEY1H4H^H^0E"<_\-=S8
MZ(R],HL]RW@%.?+CZ\3#F=.Q7^!/JT-\GERZ[E R#J!8Q_^,\NJ_$:1"_/[4
M1)O*" P.A^N?V[G AN/3O\:0/3DZ#+VM>,P7.EPO\D_IP2;T/\X#& YI<B\T
MC^<WB?)$3"%LFF8M:O#@AZWT,>FZ/.T-A'Z5_6.\5(2QQ6K5F57$)=(E9YB
MB&M_DLRNYJKMI//>5,E>O(I2V"IXMPCFKG?_6Y[\))0A&K""IR5.5N]F"HVP
M7KT;S4/KS#U3KD/7<4LKZWO60+]J0\,W$["$OR0: $)J?KSA$?I\H*@=NNR0
M_<VIWL)V(0__V#:KXQ\M;\]=*M21)[4\4?"31BQP!_KZW4Q/[/4"5#S:GDTO
MHDE7?-R-Z-[PN)ZX1R]@WG=I@JT&:5&/KK;75@R-'4W^Q2YC&V(\T-2D]"7\
M(&S;)1!052:M>S(@K4Y>;@H@@O?E]/N$SCI_T>8[-* J2ZX@-+3M<+563Z^E
ML[F4,_H]I#%^1>#K,ED1FOK^KJ'BD4M'\5[?G1T9P5)5:&MC[]@E;*Z[+';)
M'?(#)$0Z)U57TD%MEUG"RU?M]<C-Z);W3!CV0OL*RWUAN_#K.I9\M!W>6 T?
MB\@G7XB,MG3Q"F\&^FLRPDL_9LORJ>G#&8C/6E'SS 5['Z+<K4+N^6Q$OI7H
M[&:\UL1KY.&6/;]9"-]QQ%,[ HF&9)5R6<5?[6'S3\*=E_5>#=0=W)S]>"V8
MF3+QW*6G\U-'3WJ*\_QOH?::Y;_,K_![_&AF>O_,7PW+A,VV##"]+FZ<#U;Q
M)O \OV)(]0:P=^=N;UEE8K2LAR\9ZQUC1$RQNKK825^&%^K(4;X-WR+)-<G8
M!M:+ZW(K4LI@?L @0\:[W5[44PGX(T!^5K0[3EJOD;(L8=I?4>#U-HV;_ )R
M&WYI_OVB(,C<%ASVP"=-XSHN3)UDOS#,2RN[3UKO*2[%/EQ"OD>B_*410-1C
M:'EW%"C-1ZFLQ9^3CP@DRQ4L*M*(/W:L/8)2_8R:]L=%X:L+([,QJJWE/(3W
M7B&$62BX1LN.-S6EN=58O4?:^7-J^0938N#T&N.X3VS53>;O?Q\V2^:W\IE*
M_ (F^3H@WFD+URRTUF ;-UZ#%+Y\/V,6+CM)A=Z2'M_T)'XTZLSQK#P0*A>7
M*\2'!_G*$@',]KA)^BE;>HB$R:;>C<O[CYI"MT4,Q)G4 M14XG70:4MW[&(4
MT/_D+K(_CP@.-?T$3PZ<]&IT$H-F:5>(*WGRQY.G+?D7/TU+#EW-6U@("30T
M[7S(F73UV^"B;ST4C([#]8WQ0BLU-#_TF>9)\M7MQB"U\-MB:;0TO7Z &Y_&
MSY<O]:O=<;A^^_R3?.S ._1+3#V=/W]ZI%^-A1]]NY5O>!=MW[<;^9.WQDW'
M 7B_;-L^_. &\:/N-_\'4$L#!!0    ( #N .UF;3F44W@8  &T0   9
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
MI+><[/3L5;-"I2G+&AXP[R37'-7E6!.T41CG6YB;'B;\"DP0PKUH=*G@QZ;
MXA!@3)P&8N&.V$UX%O'GKAE!Y'L0^F%\!B\: HTL7O1? H4_KN=*2[H:?YZ*
MN4>,3R.:<KE0+<OQRJ5Z4"A7Z,Z>/@DF_HLS?..!;WP._=L/YBS,:9*_"(T0
MC^!T3O:DZE'*--"1X' DD NJ3*4=L8 <I>8+GC--BK0OL!6*:P_JKN$Y;UD%
M<]$4!-(4\'[T, )-#41U<@-S7E6]_,A!Y.T\8 '?Y,,YZV,$[TJ$6U&WK-E
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
M#B]/_Y,J4QC:@/6-Q@NC'= %_7\>7/P+4$L#!!0    ( #N .UFT5T/48P@
M $@4   9    >&PO=V]R:W-H965T<R]S:&5E=#$V+GAM;+5866_;2!)^YZ]H
M:)*!#3 2#\F2? &VDV"SP&2,<3+SL-B'%MF2VN:AZ6Y:\?[Z_:IXF$P49_.P
M+Q*/KNJOKJ^J>;XOS8/=*N7$ESPK[,5HZ]SN=#*QR5;ETH[+G2KP9EV:7#K<
MFLW$[HR2*0OEV20*@I-)+G4QNCSG9[?F\KRL7*8+=6N$K?)<FJ=KE97[BU$X
M:A_\H3=;1P\FE^<[N5%WRGW>W1K<33HMJ<Y58759"*/6%Z.K\/1Z2NMYP9]:
M[6WO6I EJ[)\H)L/Z<4H($ J4XDC#1)_C^I&91DI HR_&YVC;DL2[%^WVM^S
M[;!E):VZ*;._=.JV%Z/%2*1J+:O,_5'N_Z$:>V:D+RDSR[]B7Z^-L3BIK"OS
M1A@(<EW4__)+XX>>P"+XCD#4"$2,N]Z(4;Z53EZ>FW(O#*V&-KI@4UD:X'1!
M0;ES!F\UY-SEK2D?-7L8 18?BJ3,E?@DORA[/G'03ZLF2:/KNM85?4=7&(G?
MRL)MK7A7I"H=*I@ 6(<N:M%=1R]J_&=5C$4<^"(*HND+^N+.VICUQ3]MK?C7
MU<HZ@R3Y]R'#:[73PVJI<$[M3B;J8H3*L,H\JM'EK[^$)\'9"Z"G'>CI2]I_
M,D0OZ_I8.B468_&"(Z[: A7E6KBM$GBW*PM5.-L^V?6E/5U+.Y8F=;3D24EC
MA:(\$(BBZJ(H9)'212RT%9($,A"#/?7X);WP;BICL!UI%.H+Z,<J\4:L5:J,
MS,0K$?FS<.8O3F:X#OU@MO3GTZ'4T4H5:JW=<4_>.@G;CV(_" -Q+);^;#GS
MWJJU@EC*4HV0.(+2./*7BQ#KCJ:!'P21./:&/AM833BF\Z6_F$]K3-'2C^,3
MT:D?K ;O$"FQGW2.O''DV)%3\+.!X[U4KR&GBD39$5"YO5(%KY9Y616\6EJK
M$!!R9J;E2F?:Z<;]:UW((M%PE5%0Z'2Q$;O*[$JK:@%;)=M&E16YDK8BB*LG
M=D(F]]:C549MJDP2==JQ^+1%6O<@B@%$:128T"D#@F)C0;9):5+ 4. SMQ57
M=S=B/@W>A 'KHIQ:\=K/X[MQ%UH&QV%2T,Y\W<LN8?"&<S *QO'K.I'"\?*U
MSV8/DPMEN*LU9$]^BS85:U/F[$G:IG(E+!D@^&JW-IV].DO)D^A\%B[IY^M
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
M:PN[)<@Z U"=:6NI59#PK+/FHJ/M&X#6[EYL6^8Q[7W%>'G0*!SP\.T$594
M[ZV(3@E,.K)LT,6L5EJLJ.I4C545RQX0V#2V>2#!>]YLHUX])#]2(<FR,(XM
M@@7U_X&YCYY'A%@TVB(/#&AP48B@5P/:AJ 0QC@ADBS,G+PLRUARF3WUD6@@
M%5*6: WCV"KE!;:UO4%SJ;LVI>TZ?2)TH4V!^@ \J6,N61)FZ:AELN: Z;DX
MQ-63/>ET$D[B<5\RU=1VB,!KB[(G>Y)A%LY0Q$\8Y:1!@5[Z6R6>QN%L/&L)
MN;+$^!V7!:="80<!\E<8\"7:&D0RN8AVVO!MV7D"8:_DB$*N;+%I$?6Y=WS$
M?EO+@FH26S::(-ZQL/*V GJD*?E"L+U#CIK ((WC;\4>.QZ=&@3-0C:*.[9;
M<6A^S]O6.$+)/=#30$%J4B\(]"*^WLMDN+/C"30Q-O.Y!0%7I$JU$ 55=L1W
MWA#,GYDI^HV6RZ)3>+<G/"ZMB T1N2DXMMWF %%*4F>A(]:MRZC9<]T 6M\[
MCG:W,:X)V+2#*G7^SO,TDU%HW"D(3 /D+MQ74/0*Z&#((!+NANJH7T355SD;
M5W,Z!F/^=,S99FM/CDA!A"9?B:#/O)OM6HT;XU1]S&JV@^J7^ZYI_O->,@KL
M+5T&;^6=7& QVTF:DK)HG#QE<11G3X-WK=(.]S E8&S=6P6 $*58G$ZB-'X:
M?)'FZ_.E%N+0,FP893,LBB9)CZ(7G*S)+I"45N9G;!1E.\@^BH;X"WX[,EK?
M ANAVRENGU<M^'J()6/0$*30G$",)'%_4_9NN?2CYP>N849@K.^Q^U[0@F9(
MVYNV,Z@-;W2,&@JB&UYXVQW&ZX9+Z@57\)R&"\VZ6T=MRE%57+(G<31&K[57
MZ,QHX+P9G'KSK_-*XV]A=1 X6<0.0R$X"05Y=&K0&T1[JP[[AV[:M33]Z/!
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
MV8T]W*Y%D8<N]K@G(R,]&Q(T3\-^& XDT$1-GO,#C?^_$J.+@$;NY'022>P
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
MJ%^&;%4=6+[6]2&<>'*R.TRZ8J6#![#;.1B;X#7O#EN4-W',)7KVPB;DVNT
MB_Z68AA0N L7_HX4HGPFL%8PD4%+]W@=='N&DL\=5084W^.>N&?8FZO)T=G5
M4E;AXFW',2DEU?5@A^4GR#A@%O!Y/"GF^:AI'Y*Z8;JD?)3;X'%N?]Q7&G^/
MJZ-ME$W(^TZ12TE5A2C87O#4\H>3UF#_3NV,@0EI)6?EOB]2AH[XWD4,"> N
M%]+"=,J=L*:FQH$=G)$'9SO&.;&W?4-=A4! &]GYK/BC]$08#EW")L;?&OPI
M-SEU59J.;K-XU&W=G=W6(7KQ%]OA[?!9\-K?AA_,_3<%;BSLK9IPV.#2>#+/
M0Z+\/=T_&-FZN_%:&KQINV&-GS:@K '.;R1>H?H'ZV#X6%K]"U!+ P04
M"  [@#M9U<RP94D#   .!P  &0   'AL+W=O<FMS:&5E=',O<VAE970R-"YX
M;6R-54UOXS80O?M7#-2BI\"292<-4MN DVW0+KIMD/3C4/0PDL86L12I)4=1
MW%_?(66KSB)K[,$62<U[\]Z0'"U[ZS[ZFHCAI='&KY*:N;U)4U_6U*"?VI:,
MO-E:UR#+U.U2WSK"*H(:G>99=I4VJ$RR7L:U![=>VHZU,O3@P'=-@VY_2]KV
MJV26'!<>U:[FL)"NERWNZ(GXC_;!R2P=62K5D/'*&G"T726;V<WM(L3'@#\5
M]?YD#,%)8>W',/FY6B59$$2:2@X,*(]GNB.M Y'(^'3@3,:4 7@Z/K+?1^_B
MI4!/=U;_I2JN5\EU A5ML=/\:/N?Z.#G,O"55OOX#_T0FU\E4':>;7, BX)&
MF>&)+X<ZG "NLR\ \@,@C[J'1%'E.V1<+YWMP85H80N#:#6B19PR85.>V,E;
M)3A>_R)SL%NX<U0I7J8LG.%-6A[PMP,^_P)^EL,':[CV\*.IJ'I-D(J845%^
M5'2;GV5\WYDIS+,+R+-\<89O/CJ<1[[Y5SF$OS>%9R>'X9^WS Y4B[>IP@6Y
M\2V6M$KD!GARSY2LO_MF=I7]<$;H8A2Z.,?^%5MQ'O^K98+9U10^<[QAD)K2
M6-,+X)K@SC8MFCW4Z $-=*:T3:.8J9J@J63>>:H^I^H5UX"P509-J5"#,IX5
M=^&"3>%WH<6=(Y)+R] Z^ZPJ\I(-^57*!O=06!?*T[7 %KZ=7V19%GX#27 V
M&?'2>20/DU1<6'$?V#W0IT[R"S@P/_UV_PCO4.D]W&N+K,P.'E'*T>K.0PXM
MN5)0TF6@M<+EI[ Q1Q$AN)/#ZR*5/C@NH^-)K[2&@D#NF19"AUK]*W4I]M)/
M2ML%)8Y*4L]8:!)6B9;6YUEJ&'@+U%(I,8&.@O80!<9"Y J5,3$IO;3*86Q3
M59 M^?FTF!>3SFCR'JPL"XY<,U#&B"J4011%^12<#&6D%^5C*5Y[&K*)IGLJ
M7">=&/+K>#(N!]AQFRI5B50^;I4L3;92)P]5YP)K3(>R)]Q;.1*^E/W8$SH_
M?>LRI"<]JB&WBYW80ZSAT*[&U;'9;X8>]W_X\*7X@&XG!T^\;@6:3;^_3, -
MW7>8L&UCQRLL2_^,PUH^6.1"@+S?6KDJATE(,'X"U_\!4$L#!!0    ( #N
M.UF ^AO3( ,  $,'   9    >&PO=V]R:W-H965T<R]S:&5E=#(U+GAM;*55
MVX[;-A#]%4(MBA9@+%YTW=H&UDFW38 $VVS3/A1]X$JT140B59**D[_OD/*J
M3K#KHLB+-)SA.3-G* W71V/?NTY*CSX.O7:;I/-^O$I3UW1R$&YE1JDALC=V
M$!Z6]I"ZT4K11M#0IXR0(AV$TLEV'7VW=KLVD^^5EK<6N6D8A/VTD[TY;A*:
M/#C>JD/G@R/=KD=QD'?2OQMO+:S2A:55@]1.&8VLW&^2:WJUR\+^N.%W)8_N
MS$9!R;TQ[\/B9;M)2"A(]K+Q@4' ZX-\+OL^$$$9?Y\XDR5E )[;#^PW43MH
MN1=./C?]'ZKUW2:I$M3*O9AZ_]8<?Y$G/7G@:TSOXA,=Y[UYGJ!F<MX,)S!4
M,"@]O\7'4Q_. !5Y L!. !;KGA/%*E\(+[9K:X[(AMW %HPH-:*A.*7#H=QY
M"U$%.+_]=1+62]M_0C=*"]THT:.7>C[LT+7OWVDQM<K+]H=UZB%A@*7-B7PW
MD[,GR"E#KXWVG4,_Z5:VGQ.D4.E2+GLH=\<N,KZ:] IQ@A$C++O QQ?Y//+Q
MKY>/_KR^=]["9_378YV8\V2/YPF_UI4;12,W"?P[3MH/,ME^]PTMR(\75&2+
MBNP2^]<>XD7RQTM_8[Q$M%RA_]/ &V6=1W>R,;I%OW7*MNC&3-9W\30?J)Y\
MOX$1Y40O'?H653@O*LQH!C8EF!.&\XS& ,LS7.0\!"@N(%A3BGZVQCDT6K-7
M'C',LASSLD0<TPR090X^4F28UA1\,-  5,:$2C=F *F8U!FDR, JZP FP<<I
MKGFPJAI@=7$.&:%DUPDKT3.T$TXUB*P 3U8E#Q8-5H%>J'Z"YBPQ%BPR[X*N
M\"]4%SP/^:-=$2B8U&#78->@M8A^#I(JPC_7#"52%M0&]07!)6/@JTN.,U8'
M]4 &73D74(8.%P5LHUF!"4"KHL2LJE %'<AY_E]J>="8E<'*PZ,\4_MEK$"/
M_0?IV6 ;I#W$\>U08R;MYQFW>)<;XGH>C/]NGZ^7U\(>E':HEWN 0G]A(-MY
M9,\+;\8X)N^-AZ$;S0YN.6G#!HCO#7SSIT5(L-R;VW\ 4$L#!!0    ( #N
M.UF?!4A&( ,  !@-   9    >&PO=V]R:W-H965T<R]S:&5E=#(V+GAM;*V7
M:V_:,!2&_XJ535,G;<W]QB!2*5 NZX2*NGU.PP&B)3&S#;3_?G82,BX&15V^
MD-AYG]<^L0\^:>\P^4U7  R]IDE&.\J*L75+56FT@C2DMW@-&7^RP"0-&6^2
MI4K7!,)Y#J6):FB:HZ9AG"E!.^^;DJ"--RR),Y@21#=I&I*W+B1XUU%T9=_Q
M%"]73'2H07L=+F$&['D]);RE5B[S.(6,QCA#!!8=Y4YO32RASP4_8]C1@WLD
M(GG!^+=HC.8=11,3@@0B)AQ"?MG"/22),.+3^%-Z*M60 CR\W[L/\MAY+"\A
MA7N<_(KG;-51/ 7-81%N$O:$=T,HX[&%7X03FO^B7:&U- 5%&\IP6L)\!FF<
M%=?PM7P/!P#WD0-&"1BG@'4!,$O K M8)6#5!>P2L.L"3@DX=0&W!-RZ@%<"
M7EW +P'_%' N+9RV7SFM[AAZM=C%IBMV2;[%>B$+@S;!.T2$GON)FWR?YCS?
M67$F,FK&"'\:<XX%T_ -;2F: LFS,XL ]6(:)9AN"*"OZ'G60S<?/[=5Q@<3
MB!J5QMW"V+A@;*)'G+$51?UL#G,)/[[.Z\85 Y5'685J[$/M&E<=QYOL%IG:
M%V1HAB69T/UU_#$D'-<OXKWK> ^B"C<E>/\Z/H-U-7D9/J@?NPQ_J!^[#!_6
MC]V0X*/ZL<OP\?^M^^3=K^YH&YI5QIFYG_F>C)/E66%GR>W$B=NBZS""CL*/
M5 ID"TKPZ8/N:-]D>[Q)LUZ39OTFS09-FCTT:39LTFS4I-FX2;-)0V9'&695
M&69=<P]^\$)TE$4X!73S'5,J/;T*"SNW$&7G-M ]WS1\IZUN#Q-&HM-,W3>U
M8UU/HG-]VW1/='V9GV_9EG6L&YSK/-^V3?M8]B"1.:[A><>RH614W7(TRSC6
MC<YUKN,9SLE+&9_+;$^W=>LDV,FYSG1<5S?U2E<LL'I0P*1 EGF-35&$-QDK
M_EFKWJJ,O\NKUY/^KMX:Z9+^,2_[BX+IGWWQS<"/MF6<493 @@^EW;I\MJ2H
MPXL&P^N\?'K!C)=C^>V*?[H $0+^?($QVS?$ -7'4/ 74$L#!!0    ( #N
M.UD0PNQ 1 (  (H&   9    >&PO=V]R:W-H965T<R]S:&5E=#(W+GAM;)V5
M76^;,!1 _XK%I#VU@4 ^M@R0DF[34JE3E';;LX,O8-78S#9)^^]G&\*R*:%2
M7L V]QZ?:\0E/@CYK$H C5XJQE7BE5K7"]]760D55B-1 S=/<B$KK,U4%KZJ
M)6#BDBKFAT$P\RM,N9?&;FTCTU@TFE$.&XE44U58OJZ B4/BC;WCPI86I;8+
M?AK7N(!'T#_JC30SOZ<06@%75' D(4^\Y7BQFMMX%_"3PD&=C)&M9"?$LYVL
M2>(%5@@89-H2L+GMX0X8LR"C\;MC>OV6-O%T?*1_=;6;6G98P9U@ORC19>)]
M\!"!'#=,;\7A&W3U3"TO$TRY*SJTL=%'#V6-TJ+JDHU!17E[QR_=.9PD&,[Y
MA+!+")UWNY&S_(PU3F,I#DC::$.S U>JRS9RE-N7\JBE>4I-GD[7YG@)2/0D
M,:&\0$LI,2_ '+M6L:_-#C;.SSK:JJ6%%V@1>A!<EPI]X03(O_F^,>OUPJ/>
M*AP$WC=\A*+@!H5!.!G@17VYD>-%%WCGRKQ!NU>TYH3N*6DP.U=U"YV<A]KO
M9J%JG$'BF0]#@=R#E[Y_-YX%GP:4)[WR9(B>;AL&:!SLIK?C4VVT)*+6_Q]R
MJSL,S#%3," V[<6F@YSO@M]>(3<,?4MNULO-KCJU)Y#F*\(7W(:9;[G->[?Y
MU0<W[#?,O>CGG_2'"F3ANJ!"F6BX;EM%O]HWVF7;7_Z&MUWZ <N"<H48Y"8U
M&,W-ZY1MYVLG6M2NV^R$-KW+#4OSLP!I \SS7 A]G-@-^M]/^@=02P,$%
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
M<'9_^\OSB_FSER[S4J<X!)<5Y7R+CH*&!0,+XLJ^K1)O--" \SG@5%)E!@.
M-F0Z<8BD8;3 0L>3(E'3;5>89F_^,!ST,,X'7-B1LA%8TO4M8#G"==F$7]_+
M6F<['PJ(\&^V9!KDMRR!Y&;D@YJ>,"3)!X('@P,!GV]MS29F+.G)P7&D%S%Z
MK9L5(.*2D9CH*R^N]USYWXFQ@AM<A#"#XTUVX]7#QY,!X^!L7$D'!H8O2+5R
M(%;@7Q(8 ]%BT!R4E42^,DM"S1Q?,D#GN"&>B ^@&>6/-EH&F 9GV;+(+=.Y
MG.LW6_'/##E[AZAB<&V,[=E6E:8M^XT$% ZVZ,!.!4_CF"0NX!C!2X*0R68-
MZCMV^BI!WC&T\7/ O"QKF02TP-81^81>#+EW@M! A[3T$:_Z-'K5IT>]:K2;
M/Y 0(?U 0=F4@_WCLPPFN4X>!L-<5+<L0C[><VR%:11@G?.1%NPL@Q:!.Q$
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
MW2%;,U/O/<5$2>9S_C[K:-$J!O<7Z6+$(14.6Z*+RRQ3%$PS[_7ZL %QKN>
MCLRMA'(B:?H>;5-.JI#T!A$OU8;.9NEH40BAX79(9"U'N[*^IL*+58$S,8W
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
M#L,Z,7$^>G__9GN>O&_Y@FV\NYO<:XPMYZ&M3:)&%'?B=0G>E\^:Y:$7E_-
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
M3J*R"71>2&D.@;U@>'G3/U!+ P04    "  [@#M9(SP&%M\"  !,!@  &0
M 'AL+W=O<FMS:&5E=',O<VAE970S,BYX;6R=5<ENVS 0O?LK!FI1-  149LM
MI[:!N O:H@&,I,NAZ(&6:)LH1:HD%2=_WR'EJ&GA^-"+.>N;-Z1F/-MK\]/N
M.'=PUTAEY]'.N?8BCFVUXPVSY[KE"CT;;1KF4#7;V+:&LSHD-3).*1W'#1,J
M6LR";646,]TY*11?&;!=TS!SO^12[^=1$CT8KL5VY[PA7LQ:MN4WW'UI5P:U
M>$"I1<.5%5J!X9MY=)E<+',?'P*^"KZWCV3PG:RU_NF5#_4\HIX0E[QR'H'A
M<<M?<RD]$-+X=<",AI(^\;'\@/XN](Z]K)GEK[7\)FJWFT=E!#7?L$ZZ:[U_
MSP_]%!ZOTM*&7]CWL7D:0=59IYM#,C)HA.I/=G>XAT<))7TB(3TDI(%W7RBP
M?,,<6\R,WH/QT8CFA=!JR$9R0OE'N7$&O0+SW&)E\'V-NR>PDDPY8*J&M[\Z
MT>+%.WCYF:TEMV>SV&$MGQ%7!]QECYL^@9ND<*65VUEXJVI>_PT0(\F!:?K
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
M51CBRD]V<[6IPN/T_PK[==>&1&'BQIZ/S7^/F#0BCM:#CNK?5(+NQ9"Q6F!
MXN]UK*&;^!-(4S?P8V3):R:VBAK%KA]X$-)/NB\578A(8)*X:3C!133QW22*
MG3^P^Y\G#OJ=T0 W)RF"QW3F]'V,( FHA_=UYVCKZEAR=6LOR!I+UU2FO45V
M;[L[^&E[]7S:WE[@<3+=BDI#P1=HBF,#SQG57HK;!R-K>Q&=2X/76KM<XO\1
M7-$&_+Z0TFP>R$'WG\GL'U!+ P04    "  [@#M9RLF=$Z("  "V!0  &0
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
MS!>VK)GV\'1P>@B[;Z,=;-)@MO#K$L8G0'RKM3L>?('Y9[CZ%U!+ P04
M"  [@#M9*CLO/1L#  "."P  &0   'AL+W=O<FMS:&5E=',O<VAE970S."YX
M;6RM5EMOVC 4_BM6-DVMM#8A-SH&D;A-ZZ1*J*C;P[0'DQS JF,SVT#W[V<[
M(:,TI&SC)?'E?-_Q=XXOI[OEXE$N 11ZRBF3/6>IU*KCNC)=0H[E-5\!TS-S
M+G*L=%<L7+D2@#,+RJGK>U[LYI@P)^G:L8E(NGRM*&$P$4BN\QR+7P.@?-MS
M6LYNX)XLELH,N$EWA1<P!?6PF@C=<RN6C.3 ).$,"9CWG'ZK,VX;>VOPE<!6
M[K6143+C_-%T;K.>XYD% 854&0:L?QL8 J6&2"_C9\GI5"X-<+^]8_]DM6LM
M,RQAR.DWDJEES[EQ4 9SO*;JGF\_0ZDG,GPII])^T;:PC0,'I6NI>%Z"]0IR
MPHH_?BKCL =HQ4< ?@GP#P'A$4!0 H)3 6$)"$\%1"7 2G<+[39P(ZQPTA5\
MBX2QUFRF8:-OT3I>A)E],E5"SQ*-4\FTV!^(S]&4+!B9DQ0SA?IIRM=,$;9
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
MT6/,2%@4K.06:2VC=^]R)DOUOT&9)LYVMGN0- M*LZ$T!TISH30/2O-'SZ4
ME;?O#/G@#%GHC->J+DRR75J2,B./Q_>PWUR4O&FYM;&[(4H7JC:TBC#]V59!
MTBPHS8;2'"C-A=(\*,T?-Y$"5-*^3PZ+XE2X-#C*)QK7)PIO>(HR] ET!1Q*
MLZ T&TISH#072O.@-'_<1 I02?L^.:QQ4_$B]QB?Z%R?J+SA#=>_Q=G/M@F2
M9D%I-I3F0&DNE.9!:?ZH>12@<O9=<N@5H.)F@6^XA.L/C3NNX1UD<>*S#0)M
M (#2;"C-@=)<*,V#TOQQ$RE )>T[Y- &0,5] )_2J"R(R>+HF>5L=7QS>DR+
M@)A^]MTR:), E&9!:3:4YD!I+I3F06D^E!:@:'WO';H%**9=@$+[!: T$TJS
MH#0;2G.@-!=*\Z T'TH+4+2^R0Z= U3<.B#H!A8KS_85M*D 2K.@-!M*<Z T
M%TKSH#2?GO9C*(HJ*<;IS873%@1Y-IM)BJ[Q>Q#HH0F!BKL0[J*8%666LH)\
M6&ZBRAWG%WW0]@,HS832+"C-AM(<*,V%TCPHS8?2 A2M_]W#0Q^"C.E#D*%]
M"%":":594)H-I3E0F@NE>5":#Z4%*%K?9(<^!%G<AR H^L3*LWT%[5" TBPH
MS8;2'"C-A=(\*,V73SL4-$6156/P3;V $S@S9#K7AFVGTZ-O]B<L7S</GRC(
MLK[%O?_Z<;>W>\#%A^:Q#H/]-_32HYS]/KT,]D\2..#W3].X"_-UE!8D9D]5
M*NEB5AUMOG] Q7ZCS+;-<P4>L[+,DN;EAH4KEM<!U?M/65:^;M0)NL>$+/X%
M4$L#!!0    ( #N .UD\6+X28@0  #H6   9    >&PO=V]R:W-H965T<R]S
M:&5E=#0Q+GAM;,5878_:.!3]*U:V6K720FSG>Q:0IHS:G55'&I6=[D.U#P;,
M8#6)6=M N[^^3L@D!(P'=B+-"^3CWI-S;^SC$P^V7'R32TH5^)ZEN1PZ2Z56
M5ZXK9TN:$=GG*YKK.PLN,J+TJ7ATY4I0,B^3LM3%$(9N1ECNC ;EM7LQ&O"U
M2EE.[P60ZRPCXL=[FO+MT$'.TX7/['&IB@ON:+ BCW1"U</J7N@SMT:9LXSF
MDO$<"+H8.M?H:HS](J&,^,+H5NX=@Z*4*>??BI/;^="!!2.:TIDJ((C^V] Q
M3=,"2?/XMP)UZF<6B?O'3^@?RN)U,5,BZ9BG?[.Y6@Z=V %SNB#K5'WFVS]H
M55!0X,UX*LM?L*UBH0-F:ZEX5B5K!AG+=__D>]6(O03DGTC 50(^-\&K$KRR
MT!VSLJP;HLAH(/@6B"):HQ4'96_*;%T-RXO7.%%"WV4Z3XUN\PV52K\7!29T
MMA9,,2K!VQNJ"$OE.] #$SURYNN4 KX XY1(R19%B#F12'"]T9EDFM*>'F2]
M"=&9/? PN0%OW[P;N$IS+I[LSBI^[W?\\ E^?Z[S/O#@;P!#[!O2Q^>G>^UT
M5W>J;A>NVX5+/.\$7@?-^/I)8X);13/YCZD?.P*^F4 QJZ_DBLSHT-'35E*Q
MH<[HUU]0"'\W=:<CL%:OO+I7G@U]=)UQH=A_= [&7"I3J;O\H,PO]&8S0G$<
M0<^/!NYFOPQ#($HBY.,FL$71KRGZ5HH?!9<2/.1: -.2Z4<M?-)$=8<3MA@$
MR2%/0Y270#/'H.887,;QDSZG1I+!T>-[GH>\ Y*&J!CYOIEE6+,,K2P_$";
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
M,CH1Q1MY8724D\FIV=@9A_TG)NYBC8VQOE!W;Z%< NNMN4;><Q48DBP9B.Q
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
M20!ZMP1):"K>HP_HV_T2O?OK_<R6:B(=;J\;TNN:%)\@==$MR^5.H)L\@60
MOW@%CPT$ME+8RL1/,J^QD?'?,KU GOLWP@[VAU[H-7BNX,Y)^/+/X9Y!C=<F
MS:OXO#],VH^O*@!]D9")GT/9JMG\83:]LUR)@JQA;JFM0P#?@Q6]?>.&SL<A
MI\8D6XY$UG/1;UWT3>S1$C9J)$$QY*HET5HM.4[C4N]' I$\05#[*X8\-7*?
MZVE-%E1D>J?>1ZZ#)WXPL_==MP;#0A>W83T?@M:'P.C#'>CS@>9;E%(2TY3*
MQR'!1I)S!==D84=)$+K3 !\)'FG.GBUA:TMHM*7YN$1_70PY8^0YUYGP18XG
MESZ^/#)F( I[@3.\$":MXHE1\0KX&G*ICGO$-@BR(F6/P'OZA^0;2<^57Y.Y
M3D>9<^$>J7\EJ"=^VHJ?FM-=RX57Y1IISI4[?9''T/&<8[TOHP)O$DZ'!5^V
M@B^-@N_+6,#O4B4<W>SU]<<M9#'PP1/$2'6NZ#')EB.1]2QTG>>_)V?4D[BA
M&\G(4=F68['UK>S\B+K&]?B=REW"R8&DB,4IW9)3'V##T]O\)M@-)OVO9F&>
M[VQW1F+KNX.?W<%&=Q:=70D5Y%&57G+0'/S"'.RJ+24X-L<XW=GFC,16FV-W
MRID,^+8J"_4Y7.:R_N5O1]O2\U-5<!V-+W1)6I5)SS1U/7M+^):JO[P4-HK2
MN9@HPWA=(M8=R8JJ:(J95"58U=RILAJX#E#/-XS)IXZ>H"W4H_\!4$L#!!0
M   ( #N .UDQ,\Q'Q (  /@(   9    >&PO=V]R:W-H965T<R]S:&5E=#0W
M+GAM;+56:V^;,!3]*Q:;IE9:PRNO=@E2D[1:IE6*FG7[4.V# Y=@%=O,=A[[
M][,-84E'HU;*OH!M[CF<<^W+9;#AXDEF  IM:<[DT,F4*JY<5\894"Q;O "F
MGZ1<4*ST5"Q=60C B071W T\K^M23)@3#>S:3$0#OE(Y83 32*XHQ>+W"'*^
M&3J^LUNX)\M,F04W&A1X"7-0#\5,Z)E;LR2$ I.$,R0@'3K7_M6X;^)MP'<"
M&[DW1L;)@O,G,YDF0\<S@B"'6!D&K&]K&$.>&R(MXU?%Z=2O-,#]\8[]UGK7
M7A98PICG/TBBLJ'3=U "*5[EZIYO/D/EIV/X8IY+>T6;,K;=<U"\DHK3"JP5
M4,+*.]Y6>=@#^-T7 $$%")X#VB\ P@H06J.E,FMK@A6.!H)OD##1FLT,;&XL
M6KLAS.SB7 G]E&B<BF:"KXG=$GTBT)3%G +ZAK<@T=D$%":Y/$<7Z&$^06?O
MSP>NTN\T2#>N^$<E?_ "OQ^@.\Y4)M$-2R Y)'"UV%IQL%,\"HXR?EFQ%@J]
MCRCP@G:#H/'KX>$1.6&=P-#RA6]/X.-7'8NF"JC\V92YDKC=3&S*]TH6.(:A
MH^M3@EB#$WUXYW>]3TVN3T1VD(-VG8/V,?;H)DW!EB-2>(L$5M!DM^3PRY-H
MOB[KR&L%GMZ$];Z1YC#_L@X[D-BI)7:.2IQ "D) @DBY0T;H ABD1#5I+<DZ
M>QHN?"\,+OO^,[4-@6W/\X)FM=U:;?>HVH?6O(5N(0&!<X19@N9*)Q4]W@%=
M@&@\3$<)WWJ83D1VX+U7>^_]KX+JG3(')R([R$&_SD'_! 75?UU!-8?]4U#N
M7A.A():VMTH4\Q53Y=>Y7JW;][7M6L_61[JMEUWX+TWY3W"'Q9(PB7)(-:77
MZNFZ$66?+2>*%[95+;C2C<\.,_UK L($Z.<IYVHW,2^H?W:B/U!+ P04
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
MK'H_<AV@[L\8DYN)WJ#^-Q'\ U!+ P04    "  [@#M9XPG*-*P"   C!P
M&0   'AL+W=O<FMS:&5E=',O<VAE970U,RYX;6RM55UOTS 4_2M60&B38/E.
MV]%&VKI-@(16K0P>$ ]N<MM8<^Q@.^WV[[&=+.I'6NV!E_CKGN-S;NSK\8:+
M)UD */1<4B8G3J%4=>FZ,BN@Q/*"5\#TRI*+$BL]%"M75@)P;D$E=0//2]P2
M$^:D8SLW$^F8UXH2!C.!9%V66+Q< ^6;B>,[KQ,/9%4H,^&FXPJO8 [JL9H)
M/7([EIR4P"3A# E83IPK_W*:F'@;\)/ 1F[UD7&RX/S)#+[F$\<S@H!"I@P#
MULT:ID"I(=(R_K:<3K>E 6[W7]GOK'?M98$E3#G]17)53)RA@W)8XIJJ![[Y
M JV?V/!EG$K[19LF=I X**NEXF4+U@I*PIH6/[=YV +XT1% T *"MP+"%A!:
MHXTR:^L&*YR.!=\@8:(UF^G8W%BT=D.8^8MS)?0JT3B5WI85Y2\ :*YX]H3N
M-PR$+$B%9A0S='8#"A,JS]$G--<'**\I(+Y$M_/[&9H76(#4*X_S&W3V_GSL
M*BW(T+I9N_EULWEP9/-O-;M H?<1!5X0]<"G;X>'NW!7IZ'+1=#E(K!\X1&^
M8PY_7RVD$OK _>FSV'!&_9SF$E[*"F<P<?0MDR#6X*0?WOF)][G/\'\BV[$?
M=O;#4^SI%:4\PPIR)*WO/K,-0V(93(%8IU'L^V$P=M?;-GK"AM$H'G9A.P*C
M3F!T4N C RS827W1P<:![T?#P9Z^GK P3**X7U_<Z8M/ZOO!%::M.%0 S='B
M!:D"[&'J4QL?R$B2(/%'>VH/PP;^,/'"?K5)IS8YJ?8.$X'6F-;VO->[N45G
MA*$;3BD6LO=B-]SQ]A^.1I$WVM=^&!>._#".HSWQ[E8),\_'=RQ6A$E$8:F1
MWL5 4XBF)#<#Q2M;U19<Z1IINX5^Q4"8 +V^Y%R]#DRA[-[%]!]02P,$%
M  @ .X [6<,F5_WE!@  C2H  !D   !X;"]W;W)K<VAE971S+W-H965T-30N
M>&ULO5I;;]LV%/XKA'=!"R2Q1,JW+#&02X=E6-J@0;N'8@^T1-M:)=&E:#L9
M]N-W*,FB;J%C3VH?&DDF/Y[SB>><CQ0OMEQ\C9>,2?04!E%\V5M*N3KO]V-W
MR4(:G_$5B^"7.1<AE7 K%OUX)1CUDDYAT,>6->R'U(]ZTXODV8.87O"U#/R(
M/0@4K\.0BN=K%O#M9<_N[1Y\]!=+J1[TIQ<KNF"/3'Y:/0BXZ^<HGA^R*/9Y
MA 2;7_:N[/,;!ZL.28O//MO&A6ND7)EQ_E7=W'F7/4M9Q +F2@5!X<^&W; @
M4$A@Q[<,M)>/J3H6KW?HOR;.@S,S&K,;'OSI>W)YV1OWD,?F=!W(CWS[&\L<
M&B@\EP=Q\C_:9FVM'G+7L>1AUADL"/TH_4N?,B(*'>SA"QUPU@%7.S@O="!9
M!Y(XFEJ6N'5+)9U>"+Y%0K4&-'61<)/T!F_\2+W&1RG@5Q_ZR>FCY.[74T6$
MAVYX"+,CI@F_;VZ9I'X0OT6GZ-/C+7KSX]N+OH015;^^FZ%?I^CX!70;HWL>
MR66,WD4>\\H ?3 UMQ?O[+W&1L3?U]$9(M8)PA9V&@RZ>7UW8C"'Y/21!(^8
MZ$/7=?J^_ $MT9UDX5]-M*6H3C.J"MWS>$5==MF#V(R9V+#>].<?[*'U2Y/+
M+8&5"'!R AP3>D9 .G_<(@'L25VS)N=3Q$&"J-+,9HK'9#B"][$INM70#(]L
M@O-F)8,'N<$#H\&W;,Z$ &LE?4(S%K&Y+YN,3%&&A=&=T<2JF&@<ZDCFA[DC
M0Z,CGR+!7+Z(_'^JU+L\EG&33\,ZHY8S&@XJ7AG'/=*K4>[5R.C5 Q,^]Y ?
MH>W2=Y=UQR _!@&\.*2];W+5/(J-GAD5:(+")#LU!941X$@2QCD)8W-0+2F
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
M#^]OLU]8\5K,DD@\Y^D7&JMDYHP=B'%-BE1]XKLW6 D:F'PKGDK["[MJKN?
MJI"*9U6P)L@H*Z_DIC+B(" ,6@*"*B"PW&4A2_F2*!)-!=^!,+-U-G-CI=IH
M#4>9^5<62NBW5,>I:*'XZOK$Z(KAG&?ZSY;$VO7T)2I"4_D,3F"AUT)<I A\
M#><)81N40!E\X.SD"J72H38-?,Q-J)RZ2I.9_.ZJHIB7%$$+A1_ >\Y4(N$5
MBS&^F\#5DFI=P:VN>="9\5W!>A!ZSR'P@CX\!A=D0H3F+B\=%<+:N=!6"-N<
M^SM3X.O94BJA5^&W)G_*6OWF6N;3/)4Y6>',T=^>1+%%)WKRR!]Z+SJ4]&LE
M_:[LT1>[=#7PAR);HC""%J59BV+Y77\^H'@EX[G5MRWUS7%#&:-L [\:;2V5
ME;6'MK;9([:1'P9#SYNZVP;F0<T\Z&0^VZ+0NP:\%H0IT$L?X8)0 5<D+1">
MYEI&2?RL%7F_*)JPR_*C ^RP-QDW0P]KZ.'QC+;*]-PN;X?WO!U[DS9K1S7E
MZ&C6[B&[W1S=<[/?\_UFSG'-.3Z>F]4GV67F^)Z9)T-OU.;FI*:<',W-&K+;
MS$G#TASUFS%];W\0>,>S4Y^(:Z1F-A> -SD5#YA;%;_C[F#09JY_<'SY1[.W
M!;K;[*K^W:7KM;D=[+F#_[+GZO/QH0VWJGQGQ^V/PE:O]P>>WWD*_>N>6R,_
M8'38M$<,_H!V#UJ=#,7&-G025KQ@JNQZZJ=UTWA6MDK[Z67'^9X(?1A(2'&M
M0[W>2&_YHFSBRH'BN6V<EESI-LS>)KKQ16$FZ/=KSM7MP!2H6^GH-U!+ P04
M    "  [@#M97BZH9(D"   !!P  &0   'AL+W=O<FMS:&5E=',O<VAE970U
M."YX;6RM56MOVC 4_2M6)DV;-)$791T+D8"N6JLA(;K'AVH?3'(A5AT[LPUT
MTG[\KIV0A@K0-)4/Q(][3LX]N;Y.=E(]Z + D,>2"SWR"F.JH>_KK("2ZIZL
M0.#.2JJ2&IRJM:\K!31WH)+[41 ,_)(RX:6)6YNK-)$;PYF N2)Z4Y94_9X
ME[N1%WK[A05;%\8N^&E2T37<@?E6S17._)8E9R4(S:0@"E8C;QP.IQ<VW@5\
M9[#3G3&QF2RE?+"3FWSD!580<,B,9:#XV,(4.+=$*.-7P^FUK[3 [GC/?NUR
MQUR65,-4\A\L-\7(N_1(#BNZX68A=Y^AR<<)S"37[I_LFMC (]E&&UDV8%10
M,E$_Z6/C0P<0#DX H@80/0?T3P#B!A"[1&ME+JTK:FB:*+DCRD8CFQTX;QP:
MLV'"?L4[HW"7(<ZD4RDR$$919ZI<D:F"G!FR8/J!O+D"0QG7;Q/?X+LLPL\:
MWDG-&YW@#2,RD\(4FGP2.>2'!#Z*;)5&>Z63Z"SC[4;T2!R\(U$0]8\(FOX[
M/#XC)VZ-BQU?_Y1Q[MN (H<..M_N9U N0?TD?\@U%BG9Q^KNSCC+Y$8831:0
M =O2)8=V^YC?9^78PS[4%<U@Y.%IUJ"VX*6O7X6#X.,QKUZ([,"Y?NM<W[''
M_U-R]U\PFMP8*/51%_HOZ<(+D1VX<-&Z<'&V?KY*0SEVL:8(U%,1+"FGZ!"I
M0%F?L)<>,Z)F#P-';WOU-@UZ[S\D_K:;X=&HRS#H_L(64R?B=[H)%NW:-5E-
MG-#ZN+:K;1\?N_;U;'V"_;UNQT\T]>4PHVK-A"8<5DB)NE&GJAMN/3&R<CUK
M*0V>'#<L\(X"90-P?R6EV4_L"]I;+_T+4$L#!!0    ( #N .UG0R11Y+ (
M #0%   9    >&PO=V]R:W-H965T<R]S:&5E=#4Y+GAM;*U446O;,!#^*\(;
MHX4M<NRD&YEC:%/&.AB$AFX/8P^R?4E$9<F3+G'[[W>2'9-"6LK8BZ73W??=
M?6>=LM;8>[<%0/90*^WFT1:QF7'NRBW4PHU, YH\:V-K@63:#7>-!5$%4*UX
M$L<7O!921WD6SI8VS\P.E=2PM,SMZEK8QRM0IIU'X^AP<"LW6_0'/,\:L8$5
MX%VSM&3Q@:62-6@GC686UO/H<CQ;I#X^!/R0T+JC/?-*"F/NO7%3S:/8%P0*
M2O0,@I8]+$ I3T1E_.DYHR&E!Q[O#^Q?@G;24@@'"Z-^R@JW\^A3Q"I8BYW"
M6]-^A5[/U/.51KGP96T7^W$:L7+GT-0]F"JHI>Y6\=#WX0@PGCP#2'I \EI
MV@-"YWA769!U+5#DF34MLSZ:V/PF]":@28W4_B^NT))7$@[SA:EKB?1;T#&A
M*[8P&J7>@"XE.'9V#2BD<N?L [M;7;.SM^<91TKKP;SL4UQU*9)G4GS;Z1%+
MX_<LB9/)"?CB]?#T*9R3V$%Q,BA. E_Z3XI_718.+5VNWZ>$=LR3T\Q^X&:N
M$27,(YHH!W8/4?[NS?@B_GQ*]G\B>]*$=&A"^A)[/HA&IJ0HI)+HU=-<T:0[
MI+Z0EX5-\<@4(((E]YJ5%BJ)3&PL0.CAJ39UN:<AMW]&]GF<\?VQ]I<B.D'\
MZ$[[]^2[L!NI'=6R)DP\\A-HNQGM##1-N.:%01J:L-W2LP;6!Y!_;0P>##\Y
MPT.9_P502P,$%     @ .X [6>J,A']^ @  608  !D   !X;"]W;W)K<VAE
M971S+W-H965T-C N>&ULK57;CMHP$/T5*ZUZD5IR@^RE(1*P6[655D*+VCY4
M?3#)0"P<.VL[L/OW]26D@;*HE?I"//:<XW.&S"3=<;&1)8!"CQ5E<NR52M77
MOB_S$BHL![P&ID]67%18Z5"L?5D+P(4%5=2/@B#Q*TR8EZ5V;RZRE#>*$@9S
M@61355@\38'RW=@+O?W&/5F7RFSX65KC-2Q ?:WG0D=^QU*0"I@DG"$!J[$W
M":]G(Y-O$[X1V,G>&ADG2\XW)OA<C+W " (*N3(,6#^V, -*#9&6\=!R>MV5
M!MA?[]D_6N_:RQ)+F''ZG12J''N7'BI@A1NJ[OGN$[1^K,"<4VE_T<[E#H<>
MRANI>-6"M8**,/?$CVT=>H P>080M8#H&/#<#7$+B*U1I\S:NL$*9ZG@.R1,
MMF8S"UL;B]9N"#/_XD()?4HT3F4+Q?--R6D!0KY&MP\-44_HS0TH3*A\B]ZC
ME\A'LL0"9.HK?:&!^7E+/G7DT3/D883N.%.E1+>L@.*0P-=*.[G17NXT.LOX
MI6$#% ?O4!1$PQ."9G\/C\_(B;OJQ98O_I?J_9@LI1+Z_?QYJF*.<'B:T/3L
MM:QQ#F-/-Z4$L04O>_4B3((/I]S^)[(#[\/.^_ <>S9O1%[J!FK?#L17*.=5
MI5M3FJJ<\NX($TMHQLLV2Z+D*DS];=_4GUEA'"2CI$L[D#OJY([.RIWUM*$<
MRQ(59$L*8 6J03@3IS0[UJN>FF"07(R.-+NLRX.LZ$BPW^O2"L3:#B^IB]8P
MY3J@V^WFX\2.A:/]J9Z;;LS]IG%#]PZ+-6$245AIRF!PH74)-\A<H'AM9\&2
M*SU9[++4LQ^$2=#G*\[5/C 7=%^3[!=02P,$%     @ .X [60W%3/ML @
MH 4  !D   !X;"]W;W)K<VAE971S+W-H965T-C$N>&ULG51M;],P$/XKIR#Q
M(L&2IB]L(XU$.R:&&)I: 1\F/KC)M;%FQYGMM-N_Y^RD46%9)?B2^.R[YY[G
M?.=DI_2=*1 M/$A1FFE06%N=AZ')"I3,G*@*2SI9*RV9)5-O0E-I9+D/DB*,
MHV@22L;+($W\WHU.$U5;P4N\T6!J*9E^G*%0NVDP"/8;"[XIK-L(TZ1B&URB
M_5[=:++"#B7G$DO#50D:U]/@X^!\-G;^WN$'QYTY6(-3LE+JSAE7^32('"$4
MF%F'P.BWQ3D*X8"(QGV+&70I7>#A>H]^Z;63EA4S.%?B)\]M,0U. \AQS6IA
M%VKW&5L]GF"FA/%?V+6^40!9;:R2;3 QD+QL_NRAK<-!0#QX)B!N V+/NTGD
M65XPR])$JQUHYTUH;N&E^F@BQTMW*4NKZ913G$V75F5WA1(Y:O,*/MW7W#["
MZPNTC OS!M[!DMH@KP6"6L,"#>HMYC!74E))EP73:(!: RYK6VN$*V-J5F9(
M@7L?EP!NKU&N4/]*0DND7>HP:PG.&H+Q,P2_U.4)#*.W$$?Q"(S/^"=*2)([
MW7&G._:PP^=T_Y^LVZ^$ U<6I>G5TB0=]2=U W9N*I;A-* )\DF#].6+P23Z
M<$32L),T/(;>7"6HRG6[ 1I 8UF9\W+31[2!FG@H-[C;=!C'T7B2A-L>"J..
MPN@?*+ M-1%;49%=*7E;PSXVHR=L3J.SR5D_F7%'9GR4S+?:M9R[X*RYUZ9Y
MH*U\WD=D_(3(*!I&\?@O)N'!P+FWZYKI#2?% M<4&)V\)QS=O >-857E9W"E
M+$VT7Q;TA*)V#G2^5LKN#3?6W:.<_@902P,$%     @ .X [6;X-K'*1!@
MFS<  !D   !X;"]W;W)K<VAE971S+W-H965T-C(N>&ULQ9M;<YLX&(;_BL;=
MZ;8S;8TX.^MXI@EG3[N9>KJ]V-D+8F2;*2 7Y*3]]RLPP2=9P=VOLS>)@>]]
M=$ O$A(:/]+R:[4BA*'O>594UX,58^NKX;":KT@>5^_HFA3\RH*6><SX8;D<
M5NN2Q$DCRK.AJBCF,(_38C 9-^?NRLF8;EB6%N2N1-4FS^/RQPW)Z./U  ^>
M3GQ*ERM6GQA.QNMX26:$?5[?E?QHV%&2-"=%E=("E61Q/7B/KZ;8J@5-Q%\I
M>:SV?J.Z*/>4?JT/PN1ZH-0Y(AF9LQH1\W\/Y)9D64WB^?C60@==FK5P__<3
MW6L*SPMS'U?DEF9?TH2MK@?V "5D$6\R]HD^!J0MD%'SYC2KFK_HL8U5!FB^
MJ1C-6S'/09X6V__Q][8B]@2<(Q:HK4 ]%NAG!%HKT/H*]%:@]Q48K<#H*S!;
M@=E78+4"JZ_ ;@5V7\&H%8R.!>:Y&Z<\W3FE;QJXN]G;1K=M)4T3<V(63\8E
M?41E'<]Y]8^FG39ZWK+2HK;4C)7\:LIU;#)C=/YU1;.$E-7OR/VV2=D/],HA
M+$ZSZC5ZBV;<Q,DF(X@NT"<RI\4\S=*XL0,_PU8$?=SDI(P9+2L4%PER2$%Y
M5K<GVI";N$KGVZMIMF$D06Y<%FFQK- =*=%L%9<$W=)\O6$-NN()?YXYZ-5O
MK\=#QHM99W8X;XMTLRV2>J9(&OI "[:JD%LD)!'H([D>JQ+ D-=O5\GJ4R7?
MJ%)BM"G>(4UY@U1%U049NI7+/\0EE^.S<D<N=\B\DVL"N2N7S\BZR[Q([O4O
MNTCN]R^[2![T+[LJD(?]RRZ21__MOD]_NNH.FJ'6>5UK>-JYTOP_5O[[_7W%
M2MYW_B/R\C;+NCC+]8#BJEK'<W(]X".&BI0/9#!Y^0*;RA\B'T'"'$B8"PGS
M(&$^)"R A(60L @2-@6"';A8[URLR^B3CWR<G19SFA/T*BV00[,L+BMA/[D%
M&0VH'EL_3+ ]TM21.1X^[-M&$*=H>*0IAW&.(,X:&9IU%.>*>"/=T/7#..\T
MSAX9AF8<AOF",--2;?LP+!"DBG53T=7#N/ TSC)MU3RJE.@TS+"Q@?6CPDY/
MXS33LK"&N[B#VVQTM]F0/JRWSUGW;G8ENK,&Y%,3$N9 PEQ(F <)\R%A 20L
MA(1%D+ I$.S 3F9G)U/ZU.0CDIR/<ZIZ>,+',AM6,3Z&X<.6-^B>+-.B'L'4
M0YPU*5,J>FFXV?+-/9^KEJ*:FG;T,)7FXU(W0<)<2)C7LSI\R$0#2%@("8MZ
M5L?T^;B#YFUUS=N2-N_/!>&C\'HP/OOSKFWEHD8LI5S:;T#"'$B8"PGS(&$^
M)"R A(60L,@Z:>9O54TS]:.AW5049YCJZ(P=[,X.MM0.7YJ95&Z'^(&_SRX)
MFA\\_M.JVO"+R::LG_KU6^WYQ[XTH4L= PES(&$N),R#A/F0L  2%D+"(OO$
M"1C;FG7DEY]($DE&3Z/.3Z/+_+37S:"VY^GE)FDRE[H)$N9 PEQ(F <)\R%A
M 20LA(1%HQ,WV=K)F[L@R,"FN.?!RFY!19%Z96_2%"UHL^#'7^3)TR0I]\91
M;_3RA:UB_ >2=UK"=1!I3BZU$RC- :6YH#0/E.:#T@)06@A*BUK:P=N+;H^P
M>3RL$P8:NFV<<]?><B663HMUBPYG)L9:.90E(&D.*,T%I7F@-!^4%H#20E!:
M!$J;0M$.S:7NS*7^XDFR-H'G9\GD.;G869 T%Y3F]:T2'S39 )06@M*BOE4R
M[1%XV-1W2^%8ND;7>\),CKFX/P%=H :EN: T#Y3F@]("4%H(2HM:VO,S9\)
MR=09WJTO8_D",^#DF3REB]T#27- :2XHS0.E^:"T )06@M*BEO;<+-K/)"J;
M1L.[17TL7>2$FTB3IW.QLT _ 0"EN: T#Y3F@]("4%H(2HM:VC,S:J*H\U-J
MN[5[+%^\/W%-4L\"I \$D<6"S%G]3E+5'S(CNFZ^.10Z!G*]]Q:4YH#27%":
M!TKS06D!*"T$I47X=*E?MVQ%/;;,:1@V.?.,9W8?!&#Y%P''T]!).W'V:R:B
M0;\K *4YH#07E.:!TGQ06@!*"T%I$3[];D U-'-DGHST!(&ZA963/FFXMX4F
M)^6RV>55\9:_*=CV"_ON;+>3['VS?^KH_ V^"K'@?%3O/&NV[.SPVVUK'^)R
MF185RLB")Z6\LW@G6FYW@FT/&%TW&WCN*6,T;WZN2)R0L@[@UQ>4LJ>#.H%N
M/][D7U!+ P04    "  [@#M9TW-?@#H"   1!0  &0   'AL+W=O<FMS:&5E
M=',O<VAE970V,RYX;6R-E&UOTS 0Q[^*%1#:)%2GZ0-H))'ZP 2(2=6JP0O$
M"S>Y)-8<.]C79OOVV$X:"NHJ\J+QV7>_^U]SY[A5^M%4 $B>:B%-$E2(S0VE
M)JN@9F:D&I#VI%"Z9FA-75+3:&"Y#ZH%C<)P3FO&99#&?F^CTUCM47 )&TW,
MOJZ9?EZ"4&T2C(/CQCTO*W0;-(T;5L(6\*'9:&O1@9+S&J3A2A(-11(LQC?+
MF?/W#M\XM.9D35PE.Z4>G?$Y3X+0"0(!&3H"LZ\#K$ (![(R?O7,8$CI D_7
M1_JMK]W6LF,&5DI\YSE62? ^(#D4;"_P7K6?H*_'"\R4,/Z7M)UO- ](MC>H
MZC[8*JBY[-[LJ?\?3@.B%P*B/B#RNKM$7N6:(4MCK5JBG;>EN84OU4=;<5RZ
MC[)%;4^YC</TJ[6)*LA*0\Z17*T!&1?F.J9HZ<Z'9CUIV9&B%TCCB-PIB94A
M'V4.^=\ :F4-VJ*CMF5TD?AE+T=D$KXE41A-R<-V3:Y>7U_@3H::)YX[^;^:
M?RQV!K5MCY_GBNY0T_,H-S(WIF$9)(&="0/Z $'ZYM5X'GZX('0Z")U>HJ=+
MI6T$ER7)F$W"\?F<PHXQ\PPW@X=T$OHGIH<SR6=#\MG%Y+=",72Y-4,@#>@,
M)-HY/2>A(XW#$PWA*(S^$4!/VK0&7?IA-"13>XE=QPZ[P[PONC;_X]Y=%G=,
MEUP:(J"PH>'HG56@NP'L#%2-;_J=0CM"?EG9.PNT<[#GA5)X-%R"X19,?P-0
M2P,$%     @ .X [60)$YV?#!   ^10  !D   !X;"]W;W)K<VAE971S+W-H
M965T-C0N>&ULK5C;;N,V$/T50BV*++!KD:*NJ6T@B7S'%FF"M ]%'Q2;MH65
M1"]%Q[M_7^H2K4U-7*7U2Z++.6=F>&8DB_T#%U_R+6,2?4N3+!\86REWUZ:9
M+[<LC?(>W[%,W5ESD492G8J-F>\$BU8E*4U,"V/73*,X,X;]\MJ]&/;Y7B9Q
MQNX%RO=I&HGOMRSAAX%!C-<+#_%F*XL+YK"_BS;LD<FGW;U09V:CLHI3EN4Q
MSY!@ZX%Q0ZX7?H$O 7_$[) ?':.BDF?.OQ0GL]7 P$5"+&%+62A$ZM\+NV-)
M4@BI-+[6FD83LB >'[^JC\O:52W/4<[N>/)GO)+;@>$;:,76T3Z1#_PP974]
M3J&WY$E>_D6'&HL-M-SGDJ<U6660QEGU/_I6K\,10>G !*LF6#K!?H- :P+M
M2K!K@MV5X-0$IRO!K0EN5X)7$[RN!+\F^%T)04T(=(+[EG'XU3G<-09IS*Z:
MKNJ2LL7"2$;#ON ') J\TBL.RCXM^:JSXJR8J$<IU-U8\>3P48WH:I\PQ-?H
M]WTD)!/)=S2.LRA;QE&"9EDUM47[7X5,1G&2?T"?T'MXG]#38XBN?O[0-Z5*
MN0AL+NOT;JOTK#?2H^@SS^0V1Z-LQ58 ?WZ>3ZPS J9:JV;!K-<%N[7.*L[W
M60]1_!%9V+*!A.[.TS]'0M')F_3P/#UDRX9. ?KH//V1[9KD(?JX>^T0?=*]
M=H@^[5Z[!=!GW6N'Z//_Y_OB/R_=21O29FYIJ4??T/O767W*HOTJEFSU ?UU
M\YQ+H5Y>?T,#6,6QX3C%"_TZWT5+-C#4&SMGXH49PU]^(B[^%6K^2XJ%EQ0;
M75)L?$FQR27%II<4FUU2;'Y)L<6%Q$Y&SVY&SSZG/GQ@+RS;LQP:IHKIE,SB
MQ^S+D!"7X("0OOER/"AMH&\YMNO04UP("&**%503' &"CNM;Q#[%C0$<M2T?
M:X$G;5S@X\ E[BEN"NCYV%8EG^)F ,ZECA<XI[AY&T=]C[J4:((+ .@X@46M
M'Y6<V.LT]CIG[9T(GN?H7O!U+"&+*[9['%=]O@3$TQQNXRSLVB30C L!/6);
MCJ<MS C0LVR'>EK<,107VPJJ&=S&D<!3K:"M\Q2*ZV*O>(>>& SH^43UGX:;
M SBL^AZ[6#.X#?2Q@QWJP_ZZC;_N67]_4Y^I<;;D*8/<==OSY@?4"K2VOP-P
M6/4HU8H( 9SJ>>IIN!&D%]B.K8]O&^<'CD-U<P&8ZUF^KWD+1"6VBW7/9FV<
MIYXMKK8H\S;,\8E#;-W9-HZZGD<H@9WU&F>]L\Z.(I'%V48-+Q/H<1L)]A'=
M1GF\1%=QAD*>))'(T4[=S(N;X.=(%<$[2@WW/-U\"*0_D$-027O*CD EW7,(
M1+6QGX @K2VF8#A-:08J:=7-VR"K1[7$%Q7(/VZOG@-[[#<>^^_V.(R3O?JA
M^PZ7_0[>W/FM[-5B:2:#0MKTC"!0RV0(1+7&FX @W60PG&XRJ*2;W 99/?W]
ML&B#2,\.-)?-HQV*E(E-N8F6HR7?9[+ZZ&FN-OMT-^7VE';]EES/"'!]3JX7
MU8[(#_EJ4U!]=6[B+$<)6ZM0RA[UW!'51EMU(OFNW!]YYE+RM#S<LFC%1 %0
M]]><R]>3(D"SVSG\!U!+ P04    "  [@#M9M1MUF38#  !($P  #0   'AL
M+W-T>6QE<RYX;6S=6%UOVC 4_2N1NTZM-#5 UI2L@+0A59JT397:A[U5ACA@
MR;$SQ^E@OWZ^<0@?]46L#QLLJ,2^)^?<8_NF=CLHS5*PASEC)ECD0I9#,C>F
M^!"&Y73.<EI>J8))BV1*Y]38KIZ%9:$934L@Y2+L=3IQF%,NR6@@J_PN-V4P
M594T0Q*WH<#=/J=#THW?D\#)C57*AN3IXNV/2IG;-X&[G[T[.^L\7=[NQB]J
MX)*$7M'K T2O.KBNQ3#I^"#I/<J8\,UAGO>:1L7[V^+U\^=6R3'/,5KBH=DT
M:R9T:G+8K/9HD"FY7O2(N(!5ISD+GJD8DC$5?*(YL#*:<[%TX1X$IDHH'1A;
M;39=%R+E+P=W70\*L=')N52ZSNTRN.])\_@.L.J!02Y$:[!'7& T**@Q3,L[
MVZD?KH,OH*!I/RX+ZW"FZ;+;NR9K0GVS229*ITRW:;ID%1H-!,O CN:S.=R-
M*D( C5&Y;:2<SI2DM8<5HVE8V2D3X@'>TN_9EO8BVUBW#JR:;)O64--T,JX#
M^IMJ3GM3MO<JW:#@S\I\JNQP9-V'"F7WFF5\4?<766L 4^_BZK0HQ/*CX#.9
M,S?X@Q..!G3%"^9*\U\V&Y3*U :8)L$STX9/-R,_-2T>V<*LRFF1X9Y[)^CY
M[\[SC$FFJ=@T;6O_F&?YU8Z;;>U?>*Y_K>PZ]IJ,;H[?8[.5'[O)^!1,GL1R
M]T_!9'*4)L-F ]\X)6R=$=IH &>Q(?D&)SNQ3AI,*BX,ETUOSM.4R1='!2MO
MZ,3^F;"E;Y]/648K81Y;<$C6[:\LY56>M$_=PT0T3ZW;7V!XW;@]"-I<7*9L
MP=)QT]6S2=T,;,-F;2X@[")W]>5',([#_ A@6![, <9Q+"S/_S2>/CH>AV'>
M^EZDCW+Z*,>Q?,BX_F!Y_)S$7OZ1)DD4Q3$VH^.QU\$8F[<XAA^_&N8-&%@>
MR/1G<XVO-EXA^^L 6]-]%8*-%*]$;*3X7 /BGS=@)(E_M;$\P,!6 :L=R._/
M S7EYT01K"KF#7N#<21), 1JT5^C<8S,3@P?__I@;TD4)8D? <SO((HP!-Y&
M',$<@ <,B:)Z']S9C\+5/A6N_W<V^@U02P,$%     @ .X [69>*NQS
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
M    $               @ $     9&]C4')O<',O87!P+GAM;%!+ 0(4 Q0
M   ( #N .UET>=DT[P   "L"   1              "  :\   !D;V-0<F]P
M<R]C;W)E+GAM;%!+ 0(4 Q0    ( #N .UF97)PC$ 8  )PG   3
M      "  <T!  !X;"]T:&5M92]T:&5M93$N>&UL4$L! A0#%     @ .X [
M6<#XW^)W"   _#4  !@              ("!#@@  'AL+W=O<FMS:&5E=',O
M<VAE970Q+GAM;%!+ 0(4 Q0    ( #N .UFG[>7%.@(  *\%   8
M      " @;L0  !X;"]W;W)K<VAE971S+W-H965T,BYX;6Q02P$"% ,4
M"  [@#M97XU\)]4'  #&'P  &               @($K$P  >&PO=V]R:W-H
M965T<R]S:&5E=#,N>&UL4$L! A0#%     @ .X [675*#!42 P  -PD  !@
M             ("!-AL  'AL+W=O<FMS:&5E=',O<VAE970T+GAM;%!+ 0(4
M Q0    ( #N .UF=&+-?'04  $$4   8              " @7X>  !X;"]W
M;W)K<VAE971S+W-H965T-2YX;6Q02P$"% ,4    "  [@#M90(3YTJ &  !)
M+P  &               @('1(P  >&PO=V]R:W-H965T<R]S:&5E=#8N>&UL
M4$L! A0#%     @ .X [6;T3U(BB @  B@8  !@              ("!IRH
M 'AL+W=O<FMS:&5E=',O<VAE970W+GAM;%!+ 0(4 Q0    ( #N .UE Z_TQ
MH0<  "\A   8              " @7\M  !X;"]W;W)K<VAE971S+W-H965T
M."YX;6Q02P$"% ,4    "  [@#M9;##4K;@"   /!@  &
M@(%6-0  >&PO=V]R:W-H965T<R]S:&5E=#DN>&UL4$L! A0#%     @ .X [
M6?\ZX\VN%@  X#T  !D              ("!1#@  'AL+W=O<FMS:&5E=',O
M<VAE970Q,"YX;6Q02P$"% ,4    "  [@#M9FTYE%-X&  !M$   &0
M        @($I3P  >&PO=V]R:W-H965T<R]S:&5E=#$Q+GAM;%!+ 0(4 Q0
M   ( #N .UE3ZW-$PP0  *T+   9              " @3Y6  !X;"]W;W)K
M<VAE971S+W-H965T,3(N>&UL4$L! A0#%     @ .X [6=#V05T4 P  ^ 8
M !D              ("!.%L  'AL+W=O<FMS:&5E=',O<VAE970Q,RYX;6Q0
M2P$"% ,4    "  [@#M9PN$>QM,%  #-#0  &0              @(&#7@
M>&PO=V]R:W-H965T<R]S:&5E=#$T+GAM;%!+ 0(4 Q0    ( #N .UDB!QU"
MZ 8  $@0   9              " @8UD  !X;"]W;W)K<VAE971S+W-H965T
M,34N>&UL4$L! A0#%     @ .X [6;170]1C"   2!0  !D
M ("!K&L  'AL+W=O<FMS:&5E=',O<VAE970Q-BYX;6Q02P$"% ,4    "  [
M@#M9(_SMNF(#  #?!P  &0              @(%&=   >&PO=V]R:W-H965T
M<R]S:&5E=#$W+GAM;%!+ 0(4 Q0    ( #N .UD@VO^AU 4  (X-   9
M          " @=]W  !X;"]W;W)K<VAE971S+W-H965T,3@N>&UL4$L! A0#
M%     @ .X [62NA7?&D"P  WQX  !D              ("!ZGT  'AL+W=O
M<FMS:&5E=',O<VAE970Q.2YX;6Q02P$"% ,4    "  [@#M9"F-TSV<$  !(
M"@  &0              @('%B0  >&PO=V]R:W-H965T<R]S:&5E=#(P+GAM
M;%!+ 0(4 Q0    ( #N .UG-71+%M ,  +,(   9              " @6..
M  !X;"]W;W)K<VAE971S+W-H965T,C$N>&UL4$L! A0#%     @ .X [65"7
M [;_!   /0L  !D              ("!3I(  'AL+W=O<FMS:&5E=',O<VAE
M970R,BYX;6Q02P$"% ,4    "  [@#M91:5T>C8%   X#0  &0
M    @(&$EP  >&PO=V]R:W-H965T<R]S:&5E=#(S+GAM;%!+ 0(4 Q0    (
M #N .UG5S+!E20,   X'   9              " @?&<  !X;"]W;W)K<VAE
M971S+W-H965T,C0N>&UL4$L! A0#%     @ .X [68#Z&],@ P  0P<  !D
M             ("!<:   'AL+W=O<FMS:&5E=',O<VAE970R-2YX;6Q02P$"
M% ,4    "  [@#M9GP5(1B #   8#0  &0              @('(HP  >&PO
M=V]R:W-H965T<R]S:&5E=#(V+GAM;%!+ 0(4 Q0    ( #N .UD0PNQ 1 (
M (H&   9              " @1^G  !X;"]W;W)K<VAE971S+W-H965T,C<N
M>&UL4$L! A0#%     @ .X [63*3DWG8%P  1$8  !D              ("!
MFJD  'AL+W=O<FMS:&5E=',O<VAE970R."YX;6Q02P$"% ,4    "  [@#M9
MBD\'H)("  "O!0  &0              @(&IP0  >&PO=V]R:W-H965T<R]S
M:&5E=#(Y+GAM;%!+ 0(4 Q0    ( #N .UD*'G1;&@0  "\*   9
M      " @7+$  !X;"]W;W)K<VAE971S+W-H965T,S N>&UL4$L! A0#%
M  @ .X [6=:B0C)W @  A04  !D              ("!P\@  'AL+W=O<FMS
M:&5E=',O<VAE970S,2YX;6Q02P$"% ,4    "  [@#M9(SP&%M\"  !,!@
M&0              @(%QRP  >&PO=V]R:W-H965T<R]S:&5E=#,R+GAM;%!+
M 0(4 Q0    ( #N .UDS6T9M(P4  *4,   9              " @8?.  !X
M;"]W;W)K<VAE971S+W-H965T,S,N>&UL4$L! A0#%     @ .X [6<K)G1.B
M @  M@4  !D              ("!X=,  'AL+W=O<FMS:&5E=',O<VAE970S
M-"YX;6Q02P$"% ,4    "  [@#M9'[;$-M\$  "X"P  &0
M@(&ZU@  >&PO=V]R:W-H965T<R]S:&5E=#,U+GAM;%!+ 0(4 Q0    ( #N
M.UGII+)D!P0  -(*   9              " @=#;  !X;"]W;W)K<VAE971S
M+W-H965T,S8N>&UL4$L! A0#%     @ .X [6:KWO_4I P  & <  !D
M         ("!#N   'AL+W=O<FMS:&5E=',O<VAE970S-RYX;6Q02P$"% ,4
M    "  [@#M9*CLO/1L#  "."P  &0              @(%NXP  >&PO=V]R
M:W-H965T<R]S:&5E=#,X+GAM;%!+ 0(4 Q0    ( #N .UGT/KQ"-@,  -,0
M   9              " @<#F  !X;"]W;W)K<VAE971S+W-H965T,SDN>&UL
M4$L! A0#%     @ .X [60SU[V&;!@  ,D0  !D              ("!+>H
M 'AL+W=O<FMS:&5E=',O<VAE970T,"YX;6Q02P$"% ,4    "  [@#M9/%B^
M$F($   Z%@  &0              @('_\   >&PO=V]R:W-H965T<R]S:&5E
M=#0Q+GAM;%!+ 0(4 Q0    ( #N .UG.Z3OJD0(  +D&   9
M  " @9CU  !X;"]W;W)K<VAE971S+W-H965T-#(N>&UL4$L! A0#%     @
M.X [63Z%XAMB @  \ 4  !D              ("!8/@  'AL+W=O<FMS:&5E
M=',O<VAE970T,RYX;6Q02P$"% ,4    "  [@#M9@,QFYXH#  #L#@  &0
M            @('Y^@  >&PO=V]R:W-H965T<R]S:&5E=#0T+GAM;%!+ 0(4
M Q0    ( #N .UE\"W0.I@,  .$1   9              " @;K^  !X;"]W
M;W)K<VAE971S+W-H965T-#4N>&UL4$L! A0#%     @ .X [61,1?C>= P
MM \  !D              ("!EP(! 'AL+W=O<FMS:&5E=',O<VAE970T-BYX
M;6Q02P$"% ,4    "  [@#M9,3/,1\0"  #X"   &0              @(%K
M!@$ >&PO=V]R:W-H965T<R]S:&5E=#0W+GAM;%!+ 0(4 Q0    ( #N .UFV
M*-#WXP(  !((   9              " @68) 0!X;"]W;W)K<VAE971S+W-H
M965T-#@N>&UL4$L! A0#%     @ .X [6;A6S=Z  P  BPL  !D
M     ("!@ P! 'AL+W=O<FMS:&5E=',O<VAE970T.2YX;6Q02P$"% ,4
M"  [@#M9?\@6=>8#  ":#0  &0              @($W$ $ >&PO=V]R:W-H
M965T<R]S:&5E=#4P+GAM;%!+ 0(4 Q0    ( #N .UEW0$EP+@,  -8+   9
M              " @504 0!X;"]W;W)K<VAE971S+W-H965T-3$N>&UL4$L!
M A0#%     @ .X [67N]#O?X @  60@  !D              ("!N1<! 'AL
M+W=O<FMS:&5E=',O<VAE970U,BYX;6Q02P$"% ,4    "  [@#M9XPG*-*P"
M   C!P  &0              @('H&@$ >&PO=V]R:W-H965T<R]S:&5E=#4S
M+GAM;%!+ 0(4 Q0    ( #N .UG#)E?]Y08  (TJ   9              "
M@<L= 0!X;"]W;W)K<VAE971S+W-H965T-30N>&UL4$L! A0#%     @ .X [
M65#A0%-% P  .0D  !D              ("!YR0! 'AL+W=O<FMS:&5E=',O
M<VAE970U-2YX;6Q02P$"% ,4    "  [@#M9JEE?B:T$  #I%@  &0
M        @(%C* $ >&PO=V]R:W-H965T<R]S:&5E=#4V+GAM;%!+ 0(4 Q0
M   ( #N .UDE2A,#2P,  %8+   9              " @4<M 0!X;"]W;W)K
M<VAE971S+W-H965T-3<N>&UL4$L! A0#%     @ .X [65XNJ&2) @   0<
M !D              ("!R3 ! 'AL+W=O<FMS:&5E=',O<VAE970U."YX;6Q0
M2P$"% ,4    "  [@#M9T,D4>2P"   T!0  &0              @(&),P$
M>&PO=V]R:W-H965T<R]S:&5E=#4Y+GAM;%!+ 0(4 Q0    ( #N .UGJC(1_
M?@(  %D&   9              " @>PU 0!X;"]W;W)K<VAE971S+W-H965T
M-C N>&UL4$L! A0#%     @ .X [60W%3/ML @  H 4  !D
M ("!H3@! 'AL+W=O<FMS:&5E=',O<VAE970V,2YX;6Q02P$"% ,4    "  [
M@#M9O@VL<I$&  ";-P  &0              @(%$.P$ >&PO=V]R:W-H965T
M<R]S:&5E=#8R+GAM;%!+ 0(4 Q0    ( #N .UG3<U^ .@(  !$%   9
M          " @0Q" 0!X;"]W;W)K<VAE971S+W-H965T-C,N>&UL4$L! A0#
M%     @ .X [60)$YV?#!   ^10  !D              ("!?40! 'AL+W=O
M<FMS:&5E=',O<VAE970V-"YX;6Q02P$"% ,4    "  [@#M9M1MUF38#  !(
M$P  #0              @ %W20$ >&PO<W1Y;&5S+GAM;%!+ 0(4 Q0    (
M #N .UF7BKL<P    !,"   +              "  =A, 0!?<F5L<R\N<F5L
M<U!+ 0(4 Q0    ( #N .UE>1(S/$ 4  $PJ   /              "  <%-
M 0!X;"]W;W)K8F]O:RYX;6Q02P$"% ,4    "  [@#M9TDF\;1$"   7)@
M&@              @ '^4@$ >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-0
M2P$"% ,4    "  [@#M9P(AM=.D!  !^)0  $P              @ %'50$
I6T-O;G1E;G1?5'EP97-=+GAM;%!+!08     2 !( *\3  !A5P$    !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<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>82
<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>84
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.3</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>104</ContextCount>
  <ElementCount>298</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>38</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>4</UnitCount>
  <MyReports>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>995100 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/dei/role/document/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>995300 - Document - Audit Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/dei/role/document/AuditInformation</Role>
      <ShortName>Audit Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>995301 - Statement - Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/ConsolidatedBalanceSheet</Role>
      <ShortName>Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>995302 - Statement - Balance Sheets (Parentheticals)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/ConsolidatedBalanceSheet_Parentheticals</Role>
      <ShortName>Balance Sheets (Parentheticals)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>995303 - Statement - Statements of Comprehensive Income</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/ConsolidatedIncomeStatement</Role>
      <ShortName>Statements of Comprehensive Income</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>995304 - Statement - Statements of Changes in Stockholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/ShareholdersEquityType2or3</Role>
      <ShortName>Statements of Changes in Stockholders' Equity</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>995305 - Statement - Statements of Changes in Stockholders' Equity (Parentheticals)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/ShareholdersEquityType2or3_Parentheticals</Role>
      <ShortName>Statements of Changes in Stockholders' Equity (Parentheticals)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>995306 - Statement - Statements of Cash Flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/ConsolidatedCashFlow</Role>
      <ShortName>Statements of Cash Flows</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>995307 - Disclosure - Nature of Operations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/NatureofOperations</Role>
      <ShortName>Nature of Operations</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>995308 - Disclosure - Summary of Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/SummaryofSignificantAccountingPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>995309 - Disclosure - Revenue</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/Revenue</Role>
      <ShortName>Revenue</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>995310 - Disclosure - Investment Securities</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/InvestmentSecurities</Role>
      <ShortName>Investment Securities</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>995311 - Disclosure - Contracts in Process</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/ContractsinProcess</Role>
      <ShortName>Contracts in Process</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>995312 - Disclosure - Property, Plant and Equipment</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/PropertyPlantandEquipment</Role>
      <ShortName>Property, Plant and Equipment</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>995313 - Disclosure - Pension Expense</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/PensionExpense</Role>
      <ShortName>Pension Expense</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>995314 - Disclosure - Provision for Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/ProvisionforIncomeTaxes</Role>
      <ShortName>Provision for Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>995315 - Disclosure - Significant Customers</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/SignificantCustomers</Role>
      <ShortName>Significant Customers</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>995316 - Disclosure - Employee Stock Ownership Plan</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/EmployeeStockOwnershipPlan</Role>
      <ShortName>Employee Stock Ownership Plan</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>995317 - Disclosure - Stock-based Compensation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/StockbasedCompensation</Role>
      <ShortName>Stock-based Compensation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>995318 - Disclosure - Concentration of Credit Risk</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/ConcentrationofCreditRisk</Role>
      <ShortName>Concentration of Credit Risk</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>995319 - Disclosure - Related Parties</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/RelatedParties</Role>
      <ShortName>Related Parties</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>995320 - Disclosure - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/CommitmentsandContingencies</Role>
      <ShortName>Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>995321 - Disclosure - Stockholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/StockholdersEquity</Role>
      <ShortName>Stockholders' Equity</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>995322 - Disclosure - Line of Credit</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/LineofCredit</Role>
      <ShortName>Line of Credit</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>995323 - Disclosure - Quarterly Financial Information (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/QuarterlyFinancialInformationUnaudited</Role>
      <ShortName>Quarterly Financial Information (Unaudited)</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>995410 - Disclosure - Pay vs Performance Disclosure</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/PvpDisclosure</Role>
      <ShortName>Pay vs Performance Disclosure</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>995445 - Disclosure - Insider Trading Arrangements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements</Role>
      <ShortName>Insider Trading Arrangements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>996000 - Disclosure - Accounting Policies, by Policy (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/AccountingPoliciesByPolicy</Role>
      <ShortName>Accounting Policies, by Policy (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://espey.com/role/SummaryofSignificantAccountingPolicies</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>996001 - Disclosure - Summary of Significant Accounting Policies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/SummaryofSignificantAccountingPoliciesTables</Role>
      <ShortName>Summary of Significant Accounting Policies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://espey.com/role/SummaryofSignificantAccountingPolicies</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>996002 - Disclosure - Investment Securities (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/InvestmentSecuritiesTables</Role>
      <ShortName>Investment Securities (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://espey.com/role/InvestmentSecurities</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>996003 - Disclosure - Contracts in Process (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/ContractsinProcessTables</Role>
      <ShortName>Contracts in Process (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://espey.com/role/ContractsinProcess</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>996004 - Disclosure - Property, Plant and Equipment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/PropertyPlantandEquipmentTables</Role>
      <ShortName>Property, Plant and Equipment (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://espey.com/role/PropertyPlantandEquipment</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>996005 - Disclosure - Provision for Income Taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/ProvisionforIncomeTaxesTables</Role>
      <ShortName>Provision for Income Taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://espey.com/role/ProvisionforIncomeTaxes</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>996006 - Disclosure - Employee Stock Ownership Plan (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/EmployeeStockOwnershipPlanTables</Role>
      <ShortName>Employee Stock Ownership Plan (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://espey.com/role/EmployeeStockOwnershipPlan</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>996007 - Disclosure - Stock-based Compensation (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/StockbasedCompensationTables</Role>
      <ShortName>Stock-based Compensation (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://espey.com/role/StockbasedCompensation</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>996008 - Disclosure - Stockholders' Equity (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/StockholdersEquityTables</Role>
      <ShortName>Stockholders' Equity (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://espey.com/role/StockholdersEquity</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>996009 - Disclosure - Quarterly Financial Information (Unaudited) (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/QuarterlyFinancialInformationUnauditedTables</Role>
      <ShortName>Quarterly Financial Information (Unaudited) (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://espey.com/role/QuarterlyFinancialInformationUnaudited</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>996010 - Disclosure - Summary of Significant Accounting Policies (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/SummaryofSignificantAccountingPoliciesDetails</Role>
      <ShortName>Summary of Significant Accounting Policies (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://espey.com/role/SummaryofSignificantAccountingPoliciesTables</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>996011 - Disclosure - Summary of Significant Accounting Policies (Details) - Schedule of Estimated Useful Lives of Depreciable Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/ScheduleofEstimatedUsefulLivesofDepreciableAssetsTable</Role>
      <ShortName>Summary of Significant Accounting Policies (Details) - Schedule of Estimated Useful Lives of Depreciable Assets</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://espey.com/role/SummaryofSignificantAccountingPoliciesTables</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>996012 - Disclosure - Revenue (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/RevenueDetails</Role>
      <ShortName>Revenue (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://espey.com/role/Revenue</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>996013 - Disclosure - Investment Securities (Details) - Schedule of Classifies Investment Securities as Available-for-Sale</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/ScheduleofClassifiesInvestmentSecuritiesasAvailableforSaleTable</Role>
      <ShortName>Investment Securities (Details) - Schedule of Classifies Investment Securities as Available-for-Sale</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://espey.com/role/InvestmentSecuritiesTables</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>996014 - Disclosure - Investment Securities (Details) - Schedule of Contractual Maturities of Available-for-Sale Debt Securities</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/ScheduleofContractualMaturitiesofAvailableforSaleDebtSecuritiesTable</Role>
      <ShortName>Investment Securities (Details) - Schedule of Contractual Maturities of Available-for-Sale Debt Securities</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://espey.com/role/InvestmentSecuritiesTables</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>996015 - Disclosure - Contracts in Process (Details) - Schedule of Contracts in Process</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/ScheduleofContractsinProcessTable</Role>
      <ShortName>Contracts in Process (Details) - Schedule of Contracts in Process</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://espey.com/role/ContractsinProcessTables</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>996016 - Disclosure - Property, Plant and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/PropertyPlantandEquipmentDetails</Role>
      <ShortName>Property, Plant and Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://espey.com/role/PropertyPlantandEquipmentTables</ParentRole>
      <Position>44</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>996017 - Disclosure - Property, Plant and Equipment (Details) - Schedule of Property, Plant and Equipment</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/ScheduleofPropertyPlantandEquipmentTable</Role>
      <ShortName>Property, Plant and Equipment (Details) - Schedule of Property, Plant and Equipment</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://espey.com/role/PropertyPlantandEquipmentTables</ParentRole>
      <Position>45</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>996018 - Disclosure - Pension Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/PensionExpenseDetails</Role>
      <ShortName>Pension Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://espey.com/role/PensionExpense</ParentRole>
      <Position>46</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>996019 - Disclosure - Provision for Income Taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/ProvisionforIncomeTaxesDetails</Role>
      <ShortName>Provision for Income Taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://espey.com/role/ProvisionforIncomeTaxesTables</ParentRole>
      <Position>47</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>996020 - Disclosure - Provision for Income Taxes (Details) - Schedule of Components of the Provision for Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/ScheduleofComponentsoftheProvisionforIncomeTaxesTable</Role>
      <ShortName>Provision for Income Taxes (Details) - Schedule of Components of the Provision for Income Taxes</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://espey.com/role/ProvisionforIncomeTaxesTables</ParentRole>
      <Position>48</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>996021 - Disclosure - Provision for Income Taxes (Details) - Schedule of Effective Income Tax Rates</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/ScheduleofEffectiveIncomeTaxRatesTable</Role>
      <ShortName>Provision for Income Taxes (Details) - Schedule of Effective Income Tax Rates</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://espey.com/role/ProvisionforIncomeTaxesTables</ParentRole>
      <Position>49</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>996022 - Disclosure - Provision for Income Taxes (Details) - Schedule of Deferred Tax Assets and Liabilities</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable</Role>
      <ShortName>Provision for Income Taxes (Details) - Schedule of Deferred Tax Assets and Liabilities</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://espey.com/role/ProvisionforIncomeTaxesTables</ParentRole>
      <Position>50</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>996023 - Disclosure - Significant Customers (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/SignificantCustomersDetails</Role>
      <ShortName>Significant Customers (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://espey.com/role/SignificantCustomers</ParentRole>
      <Position>51</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>996024 - Disclosure - Employee Stock Ownership Plan (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/EmployeeStockOwnershipPlanDetails</Role>
      <ShortName>Employee Stock Ownership Plan (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://espey.com/role/EmployeeStockOwnershipPlanTables</ParentRole>
      <Position>52</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>996025 - Disclosure - Employee Stock Ownership Plan (Details) - Schedule of ESOP Shares</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/ScheduleofESOPSharesTable</Role>
      <ShortName>Employee Stock Ownership Plan (Details) - Schedule of ESOP Shares</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://espey.com/role/EmployeeStockOwnershipPlanTables</ParentRole>
      <Position>53</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>996026 - Disclosure - Stock-based Compensation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/StockbasedCompensationDetails</Role>
      <ShortName>Stock-based Compensation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://espey.com/role/StockbasedCompensationTables</ParentRole>
      <Position>54</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>996027 - Disclosure - Stock-based Compensation (Details) - Schedule of Weighted Average Assumptions of Option Award</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/ScheduleofWeightedAverageAssumptionsofOptionAwardTable</Role>
      <ShortName>Stock-based Compensation (Details) - Schedule of Weighted Average Assumptions of Option Award</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://espey.com/role/StockbasedCompensationTables</ParentRole>
      <Position>55</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>996028 - Disclosure - Stock-based Compensation (Details) - Schedule of Stock Option Activity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/ScheduleofStockOptionActivityTable</Role>
      <ShortName>Stock-based Compensation (Details) - Schedule of Stock Option Activity</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://espey.com/role/StockbasedCompensationTables</ParentRole>
      <Position>56</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>996029 - Disclosure - Stock-based Compensation (Details) - Schedule of Changes in Non-Vested Stock Options</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/ScheduleofChangesinNonVestedStockOptionsTable</Role>
      <ShortName>Stock-based Compensation (Details) - Schedule of Changes in Non-Vested Stock Options</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://espey.com/role/StockbasedCompensationTables</ParentRole>
      <Position>57</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>996030 - Disclosure - Concentration of Credit Risk (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/ConcentrationofCreditRiskDetails</Role>
      <ShortName>Concentration of Credit Risk (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://espey.com/role/ConcentrationofCreditRisk</ParentRole>
      <Position>58</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>996031 - Disclosure - Commitments and Contingencies (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/CommitmentsandContingenciesDetails</Role>
      <ShortName>Commitments and Contingencies (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://espey.com/role/CommitmentsandContingencies</ParentRole>
      <Position>59</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>996032 - Disclosure - Stockholders' Equity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/StockholdersEquityDetails</Role>
      <ShortName>Stockholders' Equity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://espey.com/role/StockholdersEquityTables</ParentRole>
      <Position>60</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>996033 - Disclosure - Stockholders' Equity (Details) - Schedule of Reserved Common Shares for Future Issuance</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/ScheduleofReservedCommonSharesforFutureIssuanceTable</Role>
      <ShortName>Stockholders' Equity (Details) - Schedule of Reserved Common Shares for Future Issuance</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://espey.com/role/StockholdersEquityTables</ParentRole>
      <Position>61</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>996034 - Disclosure - Stockholders' Equity (Details) - Schedule of Reconciliation of the Numerators and Denominators of the Basic and Diluted Earnings Per Share Computations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/ScheduleofReconciliationoftheNumeratorsandDenominatorsoftheBasicandDilutedEarningsPerShareComputationsTable</Role>
      <ShortName>Stockholders' Equity (Details) - Schedule of Reconciliation of the Numerators and Denominators of the Basic and Diluted Earnings Per Share Computations</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://espey.com/role/StockholdersEquityTables</ParentRole>
      <Position>62</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>996035 - Disclosure - Line of Credit (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/LineofCreditDetails</Role>
      <ShortName>Line of Credit (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://espey.com/role/LineofCredit</ParentRole>
      <Position>63</Position>
    </Report>
    <Report instance="esp-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>996036 - Disclosure - Schedule of Quarterly Financial Information (Details) - Schedule of Quarterly Financial Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://espey.com/role/ScheduleofQuarterlyFinancialInformationDetailsScheduleofQuarterlyFinancialInformation</Role>
      <ShortName>Schedule of Quarterly Financial Information (Details) - Schedule of Quarterly Financial Information</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>64</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="10-K" isDefinitelyFs="true" isUsgaap="true" original="esp-20240630.htm">esp-20240630.htm</File>
    <File>esp-20240630.xsd</File>
    <File>esp-20240630_cal.xml</File>
    <File>esp-20240630_def.xml</File>
    <File>esp-20240630_lab.xml</File>
    <File>esp-20240630_pre.xml</File>
  </InputFiles>
  <SupplementalFiles>
    <File>image_001.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="561">http://fasb.org/us-gaap/2024</BaseTaxonomy>
    <BaseTaxonomy items="38">http://xbrl.sec.gov/dei/2024</BaseTaxonomy>
    <BaseTaxonomy items="4">http://xbrl.sec.gov/ecd/2024</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>87
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "esp-20240630.htm": {
   "nsprefix": "esp",
   "nsuri": "http://espey.com/20240630",
   "dts": {
    "inline": {
     "local": [
      "esp-20240630.htm"
     ]
    },
    "schema": {
     "local": [
      "esp-20240630.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-roles-2024.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-types-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-roles-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-types-2024.xsd",
      "https://xbrl.sec.gov/country/2024/country-2024.xsd",
      "https://xbrl.sec.gov/dei/2024/dei-2024.xsd",
      "https://xbrl.sec.gov/dei/2024/dei-2024_def.xsd",
      "https://xbrl.sec.gov/dei/2024/dei-2024_lab.xsd",
      "https://xbrl.sec.gov/dei/2024/dei-2024_pre.xsd",
      "https://xbrl.sec.gov/dei/2024/dei-sub-2024.xsd",
      "https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd",
      "https://xbrl.sec.gov/ecd/2024/ecd-sub-2024.xsd",
      "https://xbrl.sec.gov/sic/2024/sic-2024.xsd",
      "https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "esp-20240630_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "esp-20240630_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "esp-20240630_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "esp-20240630_pre.xml"
     ]
    }
   },
   "keyStandard": 263,
   "keyCustom": 35,
   "axisStandard": 17,
   "axisCustom": 0,
   "memberStandard": 24,
   "memberCustom": 14,
   "hidden": {
    "total": 29,
    "http://espey.com/20240630": 6,
    "http://fasb.org/us-gaap/2024": 20,
    "http://xbrl.sec.gov/dei/2024": 3
   },
   "contextCount": 104,
   "entityCount": 1,
   "segmentCount": 38,
   "elementCount": 667,
   "unitCount": 4,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2024": 561,
    "http://xbrl.sec.gov/dei/2024": 38,
    "http://xbrl.sec.gov/ecd/2024": 4
   },
   "report": {
    "R1": {
     "role": "http://xbrl.sec.gov/dei/role/document/Cover",
     "longName": "995100 - Document - Cover",
     "shortName": "Cover",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "b",
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "b",
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://xbrl.sec.gov/dei/role/document/AuditInformation",
     "longName": "995300 - Document - Audit Information",
     "shortName": "Audit Information",
     "isDefault": "false",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "2",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "dei:AuditorName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "dei:AuditorName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R3": {
     "role": "http://espey.com/role/ConsolidatedBalanceSheet",
     "longName": "995301 - Statement - Balance Sheets",
     "shortName": "Balance Sheets",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R4": {
     "role": "http://espey.com/role/ConsolidatedBalanceSheet_Parentheticals",
     "longName": "995302 - Statement - Balance Sheets (Parentheticals)",
     "shortName": "Balance Sheets (Parentheticals)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:CommonStockSharesAuthorized",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "unique": true
     }
    },
    "R5": {
     "role": "http://espey.com/role/ConsolidatedIncomeStatement",
     "longName": "995303 - Statement - Statements of Comprehensive Income",
     "shortName": "Statements of Comprehensive Income",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:Revenues",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:CostOfRevenue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "unique": true
     }
    },
    "R6": {
     "role": "http://espey.com/role/ShareholdersEquityType2or3",
     "longName": "995304 - Statement - Statements of Changes in Stockholders' Equity",
     "shortName": "Statements of Changes in Stockholders' Equity",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "c6",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c6",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R7": {
     "role": "http://espey.com/role/ShareholdersEquityType2or3_Parentheticals",
     "longName": "995305 - Statement - Statements of Changes in Stockholders' Equity (Parentheticals)",
     "shortName": "Statements of Changes in Stockholders' Equity (Parentheticals)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "7",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R8": {
     "role": "http://espey.com/role/ConsolidatedCashFlow",
     "longName": "995306 - Statement - Statements of Cash Flows",
     "shortName": "Statements of Cash Flows",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "8",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ShareBasedCompensation",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "unique": true
     }
    },
    "R9": {
     "role": "http://espey.com/role/NatureofOperations",
     "longName": "995307 - Disclosure - Nature of Operations",
     "shortName": "Nature of Operations",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:NatureOfOperations",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:NatureOfOperations",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://espey.com/role/SummaryofSignificantAccountingPolicies",
     "longName": "995308 - Disclosure - Summary of Significant Accounting Policies",
     "shortName": "Summary of Significant Accounting Policies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://espey.com/role/Revenue",
     "longName": "995309 - Disclosure - Revenue",
     "shortName": "Revenue",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://espey.com/role/InvestmentSecurities",
     "longName": "995310 - Disclosure - Investment Securities",
     "shortName": "Investment Securities",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:InvestmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:InvestmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://espey.com/role/ContractsinProcess",
     "longName": "995311 - Disclosure - Contracts in Process",
     "shortName": "Contracts in Process",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:LongTermContractsOrProgramsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:LongTermContractsOrProgramsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://espey.com/role/PropertyPlantandEquipment",
     "longName": "995312 - Disclosure - Property, Plant and Equipment",
     "shortName": "Property, Plant and Equipment",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://espey.com/role/PensionExpense",
     "longName": "995313 - Disclosure - Pension Expense",
     "shortName": "Pension Expense",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://espey.com/role/ProvisionforIncomeTaxes",
     "longName": "995314 - Disclosure - Provision for Income Taxes",
     "shortName": "Provision for Income Taxes",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://espey.com/role/SignificantCustomers",
     "longName": "995315 - Disclosure - Significant Customers",
     "shortName": "Significant Customers",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "esp:SignificantCustomersTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "esp:SignificantCustomersTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://espey.com/role/EmployeeStockOwnershipPlan",
     "longName": "995316 - Disclosure - Employee Stock Ownership Plan",
     "shortName": "Employee Stock Ownership Plan",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "esp:EmployeeStockOwnershipPlanTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "esp:EmployeeStockOwnershipPlanTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://espey.com/role/StockbasedCompensation",
     "longName": "995317 - Disclosure - Stock-based Compensation",
     "shortName": "Stock-based Compensation",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://espey.com/role/ConcentrationofCreditRisk",
     "longName": "995318 - Disclosure - Concentration of Credit Risk",
     "shortName": "Concentration of Credit Risk",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "20",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://espey.com/role/RelatedParties",
     "longName": "995319 - Disclosure - Related Parties",
     "shortName": "Related Parties",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "21",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://espey.com/role/CommitmentsandContingencies",
     "longName": "995320 - Disclosure - Commitments and Contingencies",
     "shortName": "Commitments and Contingencies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "22",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://espey.com/role/StockholdersEquity",
     "longName": "995321 - Disclosure - Stockholders' Equity",
     "shortName": "Stockholders' Equity",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "23",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://espey.com/role/LineofCredit",
     "longName": "995322 - Disclosure - Line of Credit",
     "shortName": "Line of Credit",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "24",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "esp:LineOfCreditTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "esp:LineOfCreditTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://espey.com/role/QuarterlyFinancialInformationUnaudited",
     "longName": "995323 - Disclosure - Quarterly Financial Information (Unaudited)",
     "shortName": "Quarterly Financial Information (Unaudited)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "25",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:QuarterlyFinancialInformationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:QuarterlyFinancialInformationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure",
     "longName": "995410 - Disclosure - Pay vs Performance Disclosure",
     "shortName": "Pay vs Performance Disclosure",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "26",
     "firstAnchor": {
      "contextRef": "c99",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R27": {
     "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
     "longName": "995445 - Disclosure - Insider Trading Arrangements",
     "shortName": "Insider Trading Arrangements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "27",
     "firstAnchor": {
      "contextRef": "c99",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ecd:Rule10b51ArrTrmntdFlag",
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c99",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ecd:Rule10b51ArrTrmntdFlag",
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://espey.com/role/AccountingPoliciesByPolicy",
     "longName": "996000 - Disclosure - Accounting Policies, by Policy (Policies)",
     "shortName": "Accounting Policies, by Policy (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "28",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:RevenueFromContractWithCustomerPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:RevenueFromContractWithCustomerPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://espey.com/role/SummaryofSignificantAccountingPoliciesTables",
     "longName": "996001 - Disclosure - Summary of Significant Accounting Policies (Tables)",
     "shortName": "Summary of Significant Accounting Policies (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "29",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "esp:ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "esp:ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://espey.com/role/InvestmentSecuritiesTables",
     "longName": "996002 - Disclosure - Investment Securities (Tables)",
     "shortName": "Investment Securities (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "30",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:InvestmentTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:InvestmentTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://espey.com/role/ContractsinProcessTables",
     "longName": "996003 - Disclosure - Contracts in Process (Tables)",
     "shortName": "Contracts in Process (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "31",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "esp:ScheduleOfContractsInProcessTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:LongTermContractsOrProgramsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "esp:ScheduleOfContractsInProcessTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:LongTermContractsOrProgramsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://espey.com/role/PropertyPlantandEquipmentTables",
     "longName": "996004 - Disclosure - Property, Plant and Equipment (Tables)",
     "shortName": "Property, Plant and Equipment (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "32",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://espey.com/role/ProvisionforIncomeTaxesTables",
     "longName": "996005 - Disclosure - Provision for Income Taxes (Tables)",
     "shortName": "Provision for Income Taxes (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "33",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://espey.com/role/EmployeeStockOwnershipPlanTables",
     "longName": "996006 - Disclosure - Employee Stock Ownership Plan (Tables)",
     "shortName": "Employee Stock Ownership Plan (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "34",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfEmployeeStockOwnershipPlanESOPDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfEmployeeStockOwnershipPlanESOPDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://espey.com/role/StockbasedCompensationTables",
     "longName": "996007 - Disclosure - Stock-based Compensation (Tables)",
     "shortName": "Stock-based Compensation (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "35",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://espey.com/role/StockholdersEquityTables",
     "longName": "996008 - Disclosure - Stockholders' Equity (Tables)",
     "shortName": "Stockholders' Equity (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "36",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "esp:ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "esp:ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://espey.com/role/QuarterlyFinancialInformationUnauditedTables",
     "longName": "996009 - Disclosure - Quarterly Financial Information (Unaudited) (Tables)",
     "shortName": "Quarterly Financial Information (Unaudited) (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "37",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://espey.com/role/SummaryofSignificantAccountingPoliciesDetails",
     "longName": "996010 - Disclosure - Summary of Significant Accounting Policies (Details)",
     "shortName": "Summary of Significant Accounting Policies (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "38",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "esp:ContractExtendTerm",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "ix:continuation",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "esp:ContractExtendTerm",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "ix:continuation",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R39": {
     "role": "http://espey.com/role/ScheduleofEstimatedUsefulLivesofDepreciableAssetsTable",
     "longName": "996011 - Disclosure - Summary of Significant Accounting Policies (Details) - Schedule of Estimated Useful Lives of Depreciable Assets",
     "shortName": "Summary of Significant Accounting Policies (Details) - Schedule of Estimated Useful Lives of Depreciable Assets",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "39",
     "firstAnchor": {
      "contextRef": "c37",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c37",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R40": {
     "role": "http://espey.com/role/RevenueDetails",
     "longName": "996012 - Disclosure - Revenue (Details)",
     "shortName": "Revenue (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "40",
     "firstAnchor": {
      "contextRef": "c99",
      "name": "us-gaap:Revenues",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "unique": true
     }
    },
    "R41": {
     "role": "http://espey.com/role/ScheduleofClassifiesInvestmentSecuritiesasAvailableforSaleTable",
     "longName": "996013 - Disclosure - Investment Securities (Details) - Schedule of Classifies Investment Securities as Available-for-Sale",
     "shortName": "Investment Securities (Details) - Schedule of Classifies Investment Securities as Available-for-Sale",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "41",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:TradingSecuritiesDebtAmortizedCost",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:InvestmentTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:TradingSecuritiesDebtAmortizedCost",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:InvestmentTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R42": {
     "role": "http://espey.com/role/ScheduleofContractualMaturitiesofAvailableforSaleDebtSecuritiesTable",
     "longName": "996014 - Disclosure - Investment Securities (Details) - Schedule of Contractual Maturities of Available-for-Sale Debt Securities",
     "shortName": "Investment Securities (Details) - Schedule of Contractual Maturities of Available-for-Sale Debt Securities",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "42",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R43": {
     "role": "http://espey.com/role/ScheduleofContractsinProcessTable",
     "longName": "996015 - Disclosure - Contracts in Process (Details) - Schedule of Contracts in Process",
     "shortName": "Contracts in Process (Details) - Schedule of Contracts in Process",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "43",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "esp:UnrecognizedGrossContractValue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:LongTermContractsOrProgramsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c3",
      "name": "esp:UnrecognizedGrossContractValue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:LongTermContractsOrProgramsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R44": {
     "role": "http://espey.com/role/PropertyPlantandEquipmentDetails",
     "longName": "996016 - Disclosure - Property, Plant and Equipment (Details)",
     "shortName": "Property, Plant and Equipment (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "44",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:Depreciation",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c56",
      "name": "us-gaap:EquipmentExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "unique": true
     }
    },
    "R45": {
     "role": "http://espey.com/role/ScheduleofPropertyPlantandEquipmentTable",
     "longName": "996017 - Disclosure - Property, Plant and Equipment (Details) - Schedule of Property, Plant and Equipment",
     "shortName": "Property, Plant and Equipment (Details) - Schedule of Property, Plant and Equipment",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "45",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R46": {
     "role": "http://espey.com/role/PensionExpenseDetails",
     "longName": "996018 - Disclosure - Pension Expense (Details)",
     "shortName": "Pension Expense (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "46",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R47": {
     "role": "http://espey.com/role/ProvisionforIncomeTaxesDetails",
     "longName": "996019 - Disclosure - Provision for Income Taxes (Details)",
     "shortName": "Provision for Income Taxes (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "47",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations",
      "unitRef": "pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c69",
      "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations",
      "unitRef": "pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "3",
      "ancestors": [
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "unique": true
     }
    },
    "R48": {
     "role": "http://espey.com/role/ScheduleofComponentsoftheProvisionforIncomeTaxesTable",
     "longName": "996020 - Disclosure - Provision for Income Taxes (Details) - Schedule of Components of the Provision for Income Taxes",
     "shortName": "Provision for Income Taxes (Details) - Schedule of Components of the Provision for Income Taxes",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "48",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R49": {
     "role": "http://espey.com/role/ScheduleofEffectiveIncomeTaxRatesTable",
     "longName": "996021 - Disclosure - Provision for Income Taxes (Details) - Schedule of Effective Income Tax Rates",
     "shortName": "Provision for Income Taxes (Details) - Schedule of Effective Income Tax Rates",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "49",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R50": {
     "role": "http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable",
     "longName": "996022 - Disclosure - Provision for Income Taxes (Details) - Schedule of Deferred Tax Assets and Liabilities",
     "shortName": "Provision for Income Taxes (Details) - Schedule of Deferred Tax Assets and Liabilities",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "50",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R51": {
     "role": "http://espey.com/role/SignificantCustomersDetails",
     "longName": "996023 - Disclosure - Significant Customers (Details)",
     "shortName": "Significant Customers (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "51",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:SalesTypeLeaseRevenue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "esp:SignificantCustomersTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:SalesTypeLeaseRevenue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "esp:SignificantCustomersTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R52": {
     "role": "http://espey.com/role/EmployeeStockOwnershipPlanDetails",
     "longName": "996024 - Disclosure - Employee Stock Ownership Plan (Details)",
     "shortName": "Employee Stock Ownership Plan (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "52",
     "firstAnchor": {
      "contextRef": "c75",
      "name": "esp:EmployeeStockOwnershipPlanHoursWorked",
      "unitRef": "pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "esp:EmployeeStockOwnershipPlanTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c75",
      "name": "esp:EmployeeStockOwnershipPlanHoursWorked",
      "unitRef": "pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "esp:EmployeeStockOwnershipPlanTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R53": {
     "role": "http://espey.com/role/ScheduleofESOPSharesTable",
     "longName": "996025 - Disclosure - Employee Stock Ownership Plan (Details) - Schedule of ESOP Shares",
     "shortName": "Employee Stock Ownership Plan (Details) - Schedule of ESOP Shares",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "53",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R54": {
     "role": "http://espey.com/role/StockbasedCompensationDetails",
     "longName": "996026 - Disclosure - Stock-based Compensation (Details)",
     "shortName": "Stock-based Compensation (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "54",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R55": {
     "role": "http://espey.com/role/ScheduleofWeightedAverageAssumptionsofOptionAwardTable",
     "longName": "996027 - Disclosure - Stock-based Compensation (Details) - Schedule of Weighted Average Assumptions of Option Award",
     "shortName": "Stock-based Compensation (Details) - Schedule of Weighted Average Assumptions of Option Award",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "55",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate",
      "unitRef": "pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "4",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate",
      "unitRef": "pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "4",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R56": {
     "role": "http://espey.com/role/ScheduleofStockOptionActivityTable",
     "longName": "996028 - Disclosure - Stock-based Compensation (Details) - Schedule of Stock Option Activity",
     "shortName": "Stock-based Compensation (Details) - Schedule of Stock Option Activity",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "56",
     "firstAnchor": {
      "contextRef": "c92",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c92",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R57": {
     "role": "http://espey.com/role/ScheduleofChangesinNonVestedStockOptionsTable",
     "longName": "996029 - Disclosure - Stock-based Compensation (Details) - Schedule of Changes in Non-Vested Stock Options",
     "shortName": "Stock-based Compensation (Details) - Schedule of Changes in Non-Vested Stock Options",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "57",
     "firstAnchor": {
      "contextRef": "c4",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c4",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R58": {
     "role": "http://espey.com/role/ConcentrationofCreditRiskDetails",
     "longName": "996030 - Disclosure - Concentration of Credit Risk (Details)",
     "shortName": "Concentration of Credit Risk (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "58",
     "firstAnchor": {
      "contextRef": "c73",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "unitRef": "pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "p",
       "esp:SignificantCustomersTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R59": {
     "role": "http://espey.com/role/CommitmentsandContingenciesDetails",
     "longName": "996031 - Disclosure - Commitments and Contingencies (Details)",
     "shortName": "Commitments and Contingencies (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "59",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:LettersOfCreditOutstandingAmount",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:LettersOfCreditOutstandingAmount",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R60": {
     "role": "http://espey.com/role/StockholdersEquityDetails",
     "longName": "996032 - Disclosure - Stockholders' Equity (Details)",
     "shortName": "Stockholders' Equity (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "60",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R61": {
     "role": "http://espey.com/role/ScheduleofReservedCommonSharesforFutureIssuanceTable",
     "longName": "996033 - Disclosure - Stockholders' Equity (Details) - Schedule of Reserved Common Shares for Future Issuance",
     "shortName": "Stockholders' Equity (Details) - Schedule of Reserved Common Shares for Future Issuance",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "61",
     "firstAnchor": {
      "contextRef": "c29",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c29",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R62": {
     "role": "http://espey.com/role/ScheduleofReconciliationoftheNumeratorsandDenominatorsoftheBasicandDilutedEarningsPerShareComputationsTable",
     "longName": "996034 - Disclosure - Stockholders' Equity (Details) - Schedule of Reconciliation of the Numerators and Denominators of the Basic and Diluted Earnings Per Share Computations",
     "shortName": "Stockholders' Equity (Details) - Schedule of Reconciliation of the Numerators and Denominators of the Basic and Diluted Earnings Per Share Computations",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "62",
     "firstAnchor": {
      "contextRef": "c99",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:WeightedAverageNumberOfSharesIssuedBasic",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "unique": true
     }
    },
    "R63": {
     "role": "http://espey.com/role/LineofCreditDetails",
     "longName": "996035 - Disclosure - Line of Credit (Details)",
     "shortName": "Line of Credit (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "63",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "esp:LineOfCreditTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "esp:LineOfCreditTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R64": {
     "role": "http://espey.com/role/ScheduleofQuarterlyFinancialInformationDetailsScheduleofQuarterlyFinancialInformation",
     "longName": "996036 - Disclosure - Schedule of Quarterly Financial Information (Details) - Schedule of Quarterly Financial Information",
     "shortName": "Schedule of Quarterly Financial Information (Details) - Schedule of Quarterly Financial Information",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "64",
     "firstAnchor": {
      "contextRef": "c99",
      "name": "us-gaap:Revenues",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c99",
      "name": "us-gaap:GrossProfit",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "esp-20240630.htm",
      "unique": true
     }
    }
   },
   "tag": {
    "esp_ASC606Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "ASC606Member",
     "presentation": [
      "http://espey.com/role/RevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "ASC 606 [Member]",
        "documentation": "ASC 606 [Member]",
        "label": "ASC606 Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountingPoliciesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Summary of Significant Accounting Policies [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts payable",
        "label": "Accounts Payable, Current",
        "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": [
      "r48",
      "r783"
     ]
    },
    "us-gaap_AccountsPayableCurrentAndNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsPayableCurrentAndNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://espey.com/role/PropertyPlantandEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts payable",
        "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."
       }
      }
     },
     "auth_ref": [
      "r102",
      "r1049"
     ]
    },
    "us-gaap_AccountsReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableMember",
     "presentation": [
      "http://espey.com/role/ConcentrationofCreditRiskDetails",
      "http://espey.com/role/SignificantCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts Receivable [Member]",
        "label": "Accounts Receivable [Member]",
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold."
       }
      }
     },
     "auth_ref": [
      "r742"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet",
      "http://espey.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trade accounts receivable, less allowance for credit losses of $3,000",
        "verboseLabel": "Accounts receivable",
        "label": "Accounts Receivable, after Allowance for Credit Loss, Current",
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current."
       }
      }
     },
     "auth_ref": [
      "r959"
     ]
    },
    "esp_AccruedExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "AccruedExpensesAbstract",
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued expenses:",
        "label": "Accrued Expenses Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccruedPayrollTaxesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccruedPayrollTaxesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Payroll and other taxes withheld",
        "label": "Accrued Payroll Taxes, Current",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory payroll taxes incurred through that date and withheld from employees pertaining to services received from them, including entity's matching share of the employees FICA taxes and contributions to the state and federal unemployment insurance programs. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r51"
     ]
    },
    "us-gaap_AccruedSalariesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccruedSalariesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Salaries and wages",
        "label": "Accrued Salaries, Current",
        "documentation": "Carrying value as of the balance sheet date of the obligations incurred through that date and payable for employees' services provided. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r51",
      "r750"
     ]
    },
    "us-gaap_AccruedVacationCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccruedVacationCurrent",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vacation",
        "label": "Accrued Vacation, Current",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for unused vacation time owed to employees based on the entity's vacation benefit given to its employees. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r51"
     ]
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ScheduleofPropertyPlantandEquipmentTable": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://espey.com/role/ScheduleofPropertyPlantandEquipmentTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accumulated depreciation",
        "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": [
      "r32",
      "r143",
      "r577"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "esp_TotalStockholdersEquityBeforyEsopAndTreasuryStock",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated other comprehensive gain (loss)",
        "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax",
        "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r17",
      "r69",
      "r147",
      "r574",
      "r597",
      "r601"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "presentation": [
      "http://espey.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated Other Comprehensive (Loss) Gain",
        "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",
      "r10",
      "r17",
      "r455",
      "r458",
      "r504",
      "r592",
      "r593",
      "r939",
      "r940",
      "r941",
      "r947",
      "r948",
      "r949",
      "r951"
     ]
    },
    "ecd_Additional402vDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "Additional402vDisclosureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional 402(v) Disclosure [Text Block]",
        "terseLabel": "Additional 402(v) Disclosure"
       }
      }
     },
     "auth_ref": [
      "r855"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdditionalPaidInCapitalCommonStock",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "esp_TotalStockholdersEquityBeforyEsopAndTreasuryStock",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Capital in excess of par value",
        "label": "Additional Paid in Capital, Common Stock",
        "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital."
       }
      }
     },
     "auth_ref": [
      "r63"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://espey.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Capital in Excess of Par Value",
        "label": "Additional Paid-in Capital [Member]",
        "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": [
      "r614",
      "r947",
      "r948",
      "r949",
      "r951",
      "r1031",
      "r1081"
     ]
    },
    "dei_AdditionalSecurities462b": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AdditionalSecurities462b",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Securities. 462(b)"
       }
      }
     },
     "auth_ref": [
      "r911"
     ]
    },
    "dei_AdditionalSecurities462bFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AdditionalSecurities462bFileNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Securities, 462(b), File Number"
       }
      }
     },
     "auth_ref": [
      "r911"
     ]
    },
    "dei_AdditionalSecuritiesEffective413b": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AdditionalSecuritiesEffective413b",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Securities Effective, 413(b)"
       }
      }
     },
     "auth_ref": [
      "r909"
     ]
    },
    "dei_AddressTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AddressTypeDomain",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Address Type [Domain]",
        "documentation": "An entity may have several addresses for different purposes and this domain represents all such types."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AdjToCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation Amount",
        "terseLabel": "Adjustment to Compensation, Amount"
       }
      }
     },
     "auth_ref": [
      "r868"
     ]
    },
    "ecd_AdjToCompAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToCompAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation [Axis]",
        "terseLabel": "Adjustment to Compensation:"
       }
      }
     },
     "auth_ref": [
      "r868"
     ]
    },
    "ecd_AdjToNonPeoNeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToNonPeoNeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]",
        "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote"
       }
      }
     },
     "auth_ref": [
      "r868"
     ]
    },
    "ecd_AdjToPeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToPeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment To PEO Compensation, Footnote [Text Block]",
        "terseLabel": "Adjustment To PEO Compensation, Footnote"
       }
      }
     },
     "auth_ref": [
      "r868"
     ]
    },
    "us-gaap_AdjustmentsForNewAccountingPronouncementsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsForNewAccountingPronouncementsAxis",
     "presentation": [
      "http://espey.com/role/RevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Standards Update [Axis]",
        "documentation": "Information by amendment to accounting standards."
       }
      }
     },
     "auth_ref": [
      "r131",
      "r132",
      "r133",
      "r134",
      "r135",
      "r136",
      "r180",
      "r181",
      "r182",
      "r183",
      "r193",
      "r222",
      "r223",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r268",
      "r290",
      "r291",
      "r292",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r429",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r450",
      "r451",
      "r452",
      "r453",
      "r454",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r463",
      "r464",
      "r465",
      "r466",
      "r467",
      "r468",
      "r469",
      "r470",
      "r471",
      "r472",
      "r473",
      "r483",
      "r484",
      "r493",
      "r494",
      "r495",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r559",
      "r560",
      "r561",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601"
     ]
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition",
     "crdr": "credit",
     "presentation": [
      "http://espey.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based compensation",
        "label": "APIC, Share-Based Payment Arrangement, Option, Increase for Cost Recognition",
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for option under share-based payment arrangement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:",
        "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AggtChngPnsnValInSummryCompstnTblForAplblYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtChngPnsnValInSummryCompstnTblForAplblYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table [Member]",
        "terseLabel": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table"
       }
      }
     },
     "auth_ref": [
      "r902"
     ]
    },
    "ecd_AggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Amount",
        "terseLabel": "Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r818",
      "r829",
      "r845",
      "r880"
     ]
    },
    "ecd_AggtErrCompNotYetDeterminedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtErrCompNotYetDeterminedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]",
        "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined"
       }
      }
     },
     "auth_ref": [
      "r821",
      "r832",
      "r848",
      "r883"
     ]
    },
    "ecd_AggtPnsnAdjsSvcCstMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtPnsnAdjsSvcCstMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Pension Adjustments Service Cost [Member]",
        "terseLabel": "Aggregate Pension Adjustments Service Cost"
       }
      }
     },
     "auth_ref": [
      "r903"
     ]
    },
    "ecd_AllAdjToCompMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllAdjToCompMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Adjustments to Compensation [Member]",
        "terseLabel": "All Adjustments to Compensation"
       }
      }
     },
     "auth_ref": [
      "r868"
     ]
    },
    "ecd_AllExecutiveCategoriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllExecutiveCategoriesMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Executive Categories [Member]",
        "terseLabel": "All Executive Categories"
       }
      }
     },
     "auth_ref": [
      "r875"
     ]
    },
    "ecd_AllIndividualsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllIndividualsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Individuals [Member]",
        "terseLabel": "All Individuals"
       }
      }
     },
     "auth_ref": [
      "r822",
      "r833",
      "r849",
      "r875",
      "r884",
      "r888",
      "r896"
     ]
    },
    "ecd_AllTradingArrangementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllTradingArrangementsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Trading Arrangements [Member]",
        "terseLabel": "All Trading Arrangements"
       }
      }
     },
     "auth_ref": [
      "r894"
     ]
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AllocatedShareBasedCompensationExpense",
     "crdr": "debit",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock based compensation expense",
        "label": "Share-Based Payment Arrangement, Expense",
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized."
       }
      }
     },
     "auth_ref": [
      "r392",
      "r397"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "crdr": "credit",
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet_Parentheticals",
      "http://espey.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trade accounts receivable, allowance (in Dollars)",
        "verboseLabel": "Allowance for credit allowances",
        "label": "Accounts Receivable, Allowance for Credit Loss, Current",
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r148",
      "r225",
      "r269"
     ]
    },
    "dei_AmendmentDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AmendmentDescription",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Description",
        "documentation": "Description of changes contained within amended document."
       }
      }
     },
     "auth_ref": []
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "dei_AnnualInformationForm": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AnnualInformationForm",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Annual Information Form",
        "documentation": "Boolean flag with value true on a form if it is an annual report containing an annual information form."
       }
      }
     },
     "auth_ref": [
      "r825"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "presentation": [
      "http://espey.com/role/StockholdersEquityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Purchase shares of common stock",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount",
        "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": [
      "r204"
     ]
    },
    "dei_ApproximateDateOfCommencementOfProposedSaleToThePublic": {
     "xbrltype": "dateOrAsapItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "ApproximateDateOfCommencementOfProposedSaleToThePublic",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Approximate Date of Commencement of Proposed Sale to Public",
        "documentation": "The approximate date of a commencement of a proposed sale of securities to the public. This element is disclosed in S-1, S-3, S-4, S-11, F-1, F-3 and F-10 filings."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total assets",
        "label": "Assets",
        "documentation": "Amount of asset recognized for present right to economic benefit."
       }
      }
     },
     "auth_ref": [
      "r100",
      "r111",
      "r144",
      "r175",
      "r207",
      "r211",
      "r217",
      "r218",
      "r258",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r446",
      "r448",
      "r485",
      "r570",
      "r638",
      "r756",
      "r757",
      "r783",
      "r797",
      "r992",
      "r993",
      "r1040"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "ASSETS",
        "label": "Assets [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current assets",
        "label": "Assets, Current",
        "documentation": "Amount of asset recognized for present right to economic benefit, classified as current."
       }
      }
     },
     "auth_ref": [
      "r138",
      "r152",
      "r175",
      "r258",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r446",
      "r448",
      "r485",
      "r783",
      "r992",
      "r993",
      "r1040"
     ]
    },
    "dei_AuditedAnnualFinancialStatements": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditedAnnualFinancialStatements",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Audited Annual Financial Statements",
        "documentation": "Boolean flag with value true on a form if it is an annual report containing audited financial statements."
       }
      }
     },
     "auth_ref": [
      "r825"
     ]
    },
    "dei_AuditorFirmId": {
     "xbrltype": "nonemptySequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorFirmId",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/AuditInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Firm ID",
        "documentation": "PCAOB issued Audit Firm Identifier"
       }
      }
     },
     "auth_ref": [
      "r810",
      "r813",
      "r825"
     ]
    },
    "dei_AuditorLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AuditorLocation": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorLocation",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/AuditInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Location"
       }
      }
     },
     "auth_ref": [
      "r810",
      "r813",
      "r825"
     ]
    },
    "dei_AuditorName": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorName",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/AuditInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Name"
       }
      }
     },
     "auth_ref": [
      "r810",
      "r813",
      "r825"
     ]
    },
    "dei_AuditorOpinionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorOpinionTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/AuditInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Opinion [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r907"
     ]
    },
    "dei_AuditorTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorTable",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/AuditInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax",
     "crdr": "credit",
     "presentation": [
      "http://espey.com/role/ScheduleofClassifiesInvestmentSecuritiesasAvailableforSaleTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Gross Unrealized Gains",
        "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax",
        "documentation": "Amount, before tax, of unrealized gain in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r231"
     ]
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax",
     "crdr": "debit",
     "presentation": [
      "http://espey.com/role/ScheduleofClassifiesInvestmentSecuritiesasAvailableforSaleTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Gross Unrealized Losses",
        "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax",
        "documentation": "Amount, before tax, of unrealized loss in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r232"
     ]
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue",
     "crdr": "debit",
     "presentation": [
      "http://espey.com/role/ScheduleofContractualMaturitiesofAvailableforSaleDebtSecuritiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "One to Five Years",
        "label": "Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, after Year One Through Five",
        "documentation": "Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in second through fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r236",
      "r567"
     ]
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Contractual Maturities of Available-for-Sale Debt Securities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue",
     "crdr": "debit",
     "presentation": [
      "http://espey.com/role/ScheduleofContractualMaturitiesofAvailableforSaleDebtSecuritiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Less than One Year",
        "label": "Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One",
        "documentation": "Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r235",
      "r566"
     ]
    },
    "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AvailableForSaleSecuritiesDebtSecuritiesCurrent",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet",
      "http://espey.com/role/ScheduleofClassifiesInvestmentSecuritiesasAvailableforSaleTable",
      "http://espey.com/role/ScheduleofContractualMaturitiesofAvailableforSaleDebtSecuritiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Investment securities",
        "verboseLabel": "Fair Value",
        "label": "Debt Securities, Available-for-Sale, Current",
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current."
       }
      }
     },
     "auth_ref": [
      "r226",
      "r275"
     ]
    },
    "ecd_AwardExrcPrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardExrcPrice",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Exercise Price",
        "terseLabel": "Exercise Price"
       }
      }
     },
     "auth_ref": [
      "r891"
     ]
    },
    "ecd_AwardGrantDateFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardGrantDateFairValue",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Grant Date Fair Value",
        "terseLabel": "Fair Value as of Grant Date"
       }
      }
     },
     "auth_ref": [
      "r892"
     ]
    },
    "ecd_AwardTmgDiscLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgDiscLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Disclosures [Line Items]",
        "terseLabel": "Award Timing Disclosures"
       }
      }
     },
     "auth_ref": [
      "r887"
     ]
    },
    "ecd_AwardTmgHowMnpiCnsdrdTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgHowMnpiCnsdrdTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing, How MNPI Considered [Text Block]",
        "terseLabel": "Award Timing, How MNPI Considered"
       }
      }
     },
     "auth_ref": [
      "r887"
     ]
    },
    "ecd_AwardTmgMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Method [Text Block]",
        "terseLabel": "Award Timing Method"
       }
      }
     },
     "auth_ref": [
      "r887"
     ]
    },
    "ecd_AwardTmgMnpiCnsdrdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgMnpiCnsdrdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Considered [Flag]",
        "terseLabel": "Award Timing MNPI Considered"
       }
      }
     },
     "auth_ref": [
      "r887"
     ]
    },
    "ecd_AwardTmgMnpiDiscTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgMnpiDiscTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Disclosure [Text Block]",
        "terseLabel": "Award Timing MNPI Disclosure"
       }
      }
     },
     "auth_ref": [
      "r887"
     ]
    },
    "ecd_AwardTmgPredtrmndFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgPredtrmndFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Predetermined [Flag]",
        "terseLabel": "Award Timing Predetermined"
       }
      }
     },
     "auth_ref": [
      "r887"
     ]
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://espey.com/role/ScheduleofStockOptionActivityTable",
      "http://espey.com/role/StockbasedCompensationDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Type [Axis]",
        "terseLabel": "Award Type",
        "documentation": "Information by type of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391"
     ]
    },
    "ecd_AwardUndrlygSecuritiesAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardUndrlygSecuritiesAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Underlying Securities Amount",
        "terseLabel": "Underlying Securities"
       }
      }
     },
     "auth_ref": [
      "r890"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardsCloseToMnpiDiscIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r889"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardsCloseToMnpiDiscTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table]",
        "terseLabel": "Awards Close in Time to MNPI Disclosures"
       }
      }
     },
     "auth_ref": [
      "r888"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardsCloseToMnpiDiscTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]",
        "terseLabel": "Awards Close in Time to MNPI Disclosures, Table"
       }
      }
     },
     "auth_ref": [
      "r888"
     ]
    },
    "esp_BacklogPercentageOfRecognitions": {
     "xbrltype": "percentItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "BacklogPercentageOfRecognitions",
     "presentation": [
      "http://espey.com/role/RevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Backlog amount to be recognized",
        "documentation": "The percentage of backlog that will be recognized within three years of the operating cycle.",
        "label": "Backlog Percentage Of Recognitions"
       }
      }
     },
     "auth_ref": []
    },
    "esp_BacklogPercentageOfRecognitionsYearOne": {
     "xbrltype": "percentItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "BacklogPercentageOfRecognitionsYearOne",
     "presentation": [
      "http://espey.com/role/RevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Backlog amount to be recognized, 2024",
        "documentation": "The percentage of backlog that will be recognized within one year of the operating cycle.",
        "label": "Backlog Percentage Of Recognitions Year One"
       }
      }
     },
     "auth_ref": []
    },
    "esp_BacklogPercentageOfRecognitionsYearThree": {
     "xbrltype": "percentItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "BacklogPercentageOfRecognitionsYearThree",
     "presentation": [
      "http://espey.com/role/RevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Backlog amount to be recognized, 2026",
        "documentation": "The percentage of backlog that will be recognized within two years of the operating cycle.",
        "label": "Backlog Percentage Of Recognitions Year Three"
       }
      }
     },
     "auth_ref": []
    },
    "esp_BacklogPercentageOfRecognitionsYearTwo": {
     "xbrltype": "percentItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "BacklogPercentageOfRecognitionsYearTwo",
     "presentation": [
      "http://espey.com/role/RevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Backlog amount to be recognized, 2025",
        "documentation": "The percentage of backlog that will be recognized within two years of the operating cycle.",
        "label": "Backlog Percentage Of Recognitions Year Two"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BuildingImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BuildingImprovementsMember",
     "presentation": [
      "http://espey.com/role/ScheduleofEstimatedUsefulLivesofDepreciableAssetsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Buildings and improvements [Member]",
        "label": "Building Improvements [Member]",
        "documentation": "Addition, improvement, or renovation to a facility held for productive use including, but not limited to, office, production, storage and distribution facilities."
       }
      }
     },
     "auth_ref": [
      "r90"
     ]
    },
    "dei_BusinessContactMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "BusinessContactMember",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Contact [Member]",
        "documentation": "Business contact for the entity"
       }
      }
     },
     "auth_ref": [
      "r813",
      "r825"
     ]
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash and cash equivalents",
        "label": "Cash and Cash Equivalents, at Carrying Value",
        "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": [
      "r19",
      "r141",
      "r748"
     ]
    },
    "us-gaap_CashAndCashEquivalentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashAndCashEquivalentsAxis",
     "presentation": [
      "http://espey.com/role/ProvisionforIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents [Axis]",
        "documentation": "Information by type of cash and cash equivalent balance."
       }
      }
     },
     "auth_ref": [
      "r141"
     ]
    },
    "us-gaap_CashAndCashEquivalentsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashAndCashEquivalentsPolicyTextBlock",
     "presentation": [
      "http://espey.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash and Cash Equivalents",
        "label": "Cash and Cash Equivalents, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value."
       }
      }
     },
     "auth_ref": [
      "r20"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Cash and cash equivalents, beginning of the year",
        "periodEndLabel": "Cash and cash equivalents, end of the year",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents",
        "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": [
      "r19",
      "r80",
      "r172"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedCashFlow": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Increase (decrease) in cash and cash equivalents",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect",
        "documentation": "Amount of increase (decrease) in cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; excluding effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r80"
     ]
    },
    "us-gaap_CertificatesOfDepositMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CertificatesOfDepositMember",
     "presentation": [
      "http://espey.com/role/ScheduleofClassifiesInvestmentSecuritiesasAvailableforSaleTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Certificates of deposit [Member]",
        "label": "Certificates of Deposit [Member]",
        "documentation": "Short to medium-term investment available at banks and savings and loan institutions where a customer agrees to lend money to the institution for a certain amount of time and is paid a predetermined rate of interest. Certificates of deposit (CD) are typically Federal Deposit Insurance Corporation (FDIC) insured."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r792",
      "r793",
      "r794",
      "r795"
     ]
    },
    "ecd_ChangedPeerGroupFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ChangedPeerGroupFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changed Peer Group, Footnote [Text Block]",
        "terseLabel": "Changed Peer Group, Footnote"
       }
      }
     },
     "auth_ref": [
      "r866"
     ]
    },
    "ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year [Member]",
        "terseLabel": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year"
       }
      }
     },
     "auth_ref": [
      "r863"
     ]
    },
    "ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested [Member]",
        "terseLabel": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested"
       }
      }
     },
     "auth_ref": [
      "r861"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CityAreaCode",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_CoSelectedMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CoSelectedMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Amount",
        "terseLabel": "Company Selected Measure Amount"
       }
      }
     },
     "auth_ref": [
      "r867"
     ]
    },
    "ecd_CoSelectedMeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CoSelectedMeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Name",
        "terseLabel": "Company Selected Measure Name"
       }
      }
     },
     "auth_ref": [
      "r867"
     ]
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Commitments and Contingencies (See Note 14)",
        "label": "Commitments and Contingencies",
        "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": [
      "r57",
      "r104",
      "r572",
      "r625"
     ]
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "presentation": [
      "http://espey.com/role/CommitmentsandContingencies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Commitments and Contingencies",
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "documentation": "The entire disclosure for commitments and contingencies."
       }
      }
     },
     "auth_ref": [
      "r92",
      "r293",
      "r294",
      "r743",
      "r989",
      "r991"
     ]
    },
    "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockCapitalSharesReservedForFutureIssuance",
     "calculation": {
      "http://espey.com/role/ScheduleofReservedCommonSharesforFutureIssuanceTable": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://espey.com/role/ScheduleofReservedCommonSharesforFutureIssuanceTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Number of common shares reserved",
        "label": "Common Stock, Capital Shares Reserved for Future Issuance",
        "documentation": "Aggregate number of common shares reserved for future issuance."
       }
      }
     },
     "auth_ref": [
      "r62"
     ]
    },
    "us-gaap_CommonStockDividendsPerShareCashPaid": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockDividendsPerShareCashPaid",
     "presentation": [
      "http://espey.com/role/ShareholdersEquityType2or3_Parentheticals",
      "http://espey.com/role/StockholdersEquityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Dividends paid on common stock per share",
        "verboseLabel": "Common stock cash dividend per share",
        "label": "Common Stock, Dividends, Per Share, Cash Paid",
        "documentation": "Aggregate dividends paid during the period for each share of common stock outstanding."
       }
      }
     },
     "auth_ref": [
      "r94"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockMember",
     "presentation": [
      "http://espey.com/role/ScheduleofReservedCommonSharesforFutureIssuanceTable",
      "http://espey.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common Stock",
        "verboseLabel": "Common Stock [Member]",
        "label": "Common Stock [Member]",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r788",
      "r789",
      "r790",
      "r792",
      "r793",
      "r794",
      "r795",
      "r947",
      "r948",
      "r951",
      "r1031",
      "r1079",
      "r1081"
     ]
    },
    "us-gaap_CommonStockOtherSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockOtherSharesOutstanding",
     "presentation": [
      "http://espey.com/role/ScheduleofReconciliationoftheNumeratorsandDenominatorsoftheBasicandDilutedEarningsPerShareComputationsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common shares outstanding, beginning of period",
        "label": "Common Stock, Other Shares, Outstanding",
        "documentation": "Number of shares of other common stock instruments held by shareholder, including, but not limited to, exchangeable shares."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet_Parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, par value (in Dollars per share)",
        "label": "Common Stock, Par or Stated Value Per Share",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r62"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet_Parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, shares authorized",
        "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": [
      "r62",
      "r626"
     ]
    },
    "us-gaap_CommonStockSharesHeldInEmployeeTrustShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesHeldInEmployeeTrustShares",
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet_Parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unearned ESOP shares",
        "label": "Common Stock, Shares Held in Employee Trust, Shares",
        "documentation": "Number of common stock held in a trust that has been set up specifically to accumulate stock for the sole purpose of distribution to participating employees but not yet earned."
       }
      }
     },
     "auth_ref": [
      "r38"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet_Parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, shares issued",
        "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": [
      "r62"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet_Parentheticals",
      "http://espey.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Balances (in Shares)",
        "periodEndLabel": "Balances (in Shares)",
        "terseLabel": "Common stock, shares outstanding",
        "label": "Common Stock, Shares, Outstanding",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r62",
      "r626",
      "r644",
      "r1081",
      "r1082"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "esp_TotalStockholdersEquityBeforyEsopAndTreasuryStock",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, par value $.33-1/3 per share\tAuthorized 10,000,000 shares; Issued 3,129,874 shares as of June 30, 2024 and 2023. Outstanding 2,733,958 and 2,702,633 shares as of June 30, 2024 and 2023, respectively (includes 211,487 and 233,645 Unearned ESOP Shares, respectively)",
        "label": "Common Stock, Value, Issued",
        "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": [
      "r62",
      "r573",
      "r783"
     ]
    },
    "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Company Selected Measure"
       }
      }
     },
     "auth_ref": [
      "r872"
     ]
    },
    "ecd_CompActuallyPaidVsNetIncomeTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsNetIncomeTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Net Income [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Net Income"
       }
      }
     },
     "auth_ref": [
      "r871"
     ]
    },
    "ecd_CompActuallyPaidVsOtherMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsOtherMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Other Measure [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Other Measure"
       }
      }
     },
     "auth_ref": [
      "r873"
     ]
    },
    "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return"
       }
      }
     },
     "auth_ref": [
      "r870"
     ]
    },
    "us-gaap_CompensationAndRetirementDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CompensationAndRetirementDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Expense [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComprehensiveIncomeNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedIncomeStatement": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedIncomeStatement",
      "http://espey.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total comprehensive income",
        "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": [
      "r18",
      "r157",
      "r159",
      "r165",
      "r563",
      "r583",
      "r584"
     ]
    },
    "us-gaap_ComprehensiveIncomePolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComprehensiveIncomePolicyPolicyTextBlock",
     "presentation": [
      "http://espey.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Comprehensive Income",
        "label": "Comprehensive Income, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for comprehensive income."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskBenchmarkDomain",
     "presentation": [
      "http://espey.com/role/SignificantCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Domain]",
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r27",
      "r45",
      "r46",
      "r221",
      "r742"
     ]
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "presentation": [
      "http://espey.com/role/ConcentrationofCreditRiskDetails",
      "http://espey.com/role/SignificantCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Axis]",
        "documentation": "Information by benchmark of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r27",
      "r45",
      "r46",
      "r221",
      "r603",
      "r742"
     ]
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskByTypeAxis",
     "presentation": [
      "http://espey.com/role/ConcentrationofCreditRiskDetails",
      "http://espey.com/role/SignificantCustomersDetails"
     ],
     "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": [
      "r26",
      "r27",
      "r45",
      "r46",
      "r221",
      "r742",
      "r922"
     ]
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskCreditRisk",
     "presentation": [
      "http://espey.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Concentrations of Risk",
        "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for credit risk."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r121"
     ]
    },
    "us-gaap_ConcentrationRiskDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskDisclosureTextBlock",
     "presentation": [
      "http://espey.com/role/ConcentrationofCreditRisk"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Concentration of Credit Risk",
        "label": "Concentration Risk Disclosure [Text Block]",
        "documentation": "The entire disclosure for any concentrations existing at the date of the financial statements that make an entity vulnerable to a reasonably possible, near-term, severe impact. This disclosure informs financial statement users about the general nature of the risk associated with the concentration, and may indicate the percentage of concentration risk as of the balance sheet date."
       }
      }
     },
     "auth_ref": [
      "r85"
     ]
    },
    "us-gaap_ConcentrationRiskLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskLineItems",
     "presentation": [
      "http://espey.com/role/ConcentrationofCreditRiskDetails",
      "http://espey.com/role/SignificantCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Significant Customers [Line Items]",
        "terseLabel": "Concentration of Credit Risk [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": [
      "r742"
     ]
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskPercentage1",
     "presentation": [
      "http://espey.com/role/ConcentrationofCreditRiskDetails",
      "http://espey.com/role/SignificantCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total trade accounts receivable balance percentage",
        "verboseLabel": "Total accounts receivable balance percentage",
        "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": [
      "r26",
      "r27",
      "r45",
      "r46",
      "r221"
     ]
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskTypeDomain",
     "presentation": [
      "http://espey.com/role/SignificantCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Type [Domain]",
        "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": [
      "r26",
      "r27",
      "r45",
      "r46",
      "r221",
      "r742"
     ]
    },
    "us-gaap_ConcentrationRisksTypesNoConcentrationPercentageAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRisksTypesNoConcentrationPercentageAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Significant Customers [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "esp_ConcentrationofCreditRiskDetailsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "ConcentrationofCreditRiskDetailsTable",
     "presentation": [
      "http://espey.com/role/ConcentrationofCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration of Credit Risk (Details) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_ContactPersonnelEmailAddress": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "ContactPersonnelEmailAddress",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contact Personnel Email Address",
        "documentation": "Email address of contact personnel."
       }
      }
     },
     "auth_ref": []
    },
    "dei_ContactPersonnelFaxNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "ContactPersonnelFaxNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contact Personnel Fax Number",
        "documentation": "Fax Number of contact personnel."
       }
      }
     },
     "auth_ref": [
      "r813"
     ]
    },
    "dei_ContactPersonnelName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "ContactPersonnelName",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contact Personnel Name",
        "documentation": "Name of contact personnel"
       }
      }
     },
     "auth_ref": []
    },
    "dei_ContainedFileInformationFileDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "ContainedFileInformationFileDescription",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contained File Information, File Description",
        "documentation": "The description of the contained file."
       }
      }
     },
     "auth_ref": []
    },
    "dei_ContainedFileInformationFileName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "ContainedFileInformationFileName",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contained File Information, File Name",
        "documentation": "The name of the contained file."
       }
      }
     },
     "auth_ref": []
    },
    "dei_ContainedFileInformationFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "ContainedFileInformationFileNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contained File Information, File Number",
        "documentation": "The SEC Document Number of the contained file."
       }
      }
     },
     "auth_ref": []
    },
    "dei_ContainedFileInformationFileType": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "ContainedFileInformationFileType",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contained File Information, File Type",
        "documentation": "The type or format of the contained file (usually XBRL but may be used for other types such as HTML, Word, PDF, GIF/JPG, etc.)."
       }
      }
     },
     "auth_ref": []
    },
    "esp_ContractExtendTerm": {
     "xbrltype": "durationItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "ContractExtendTerm",
     "presentation": [
      "http://espey.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contract extend term",
        "documentation": "Contract extend term.",
        "label": "Contract Extend Term"
       }
      }
     },
     "auth_ref": []
    },
    "esp_ContractLiabilitiesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "ContractLiabilitiesPolicyTextBlock",
     "presentation": [
      "http://espey.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contract Liabilities",
        "documentation": "Disclosure of accounting policy for contract liabilities.",
        "label": "Contract Liabilities Policy Text Block"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerLiability",
     "crdr": "credit",
     "presentation": [
      "http://espey.com/role/RevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contract liabilities",
        "label": "Contract with Customer, Liability",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r324",
      "r325",
      "r344"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contract liabilities",
        "label": "Contract with Customer, Liability, Current",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r324",
      "r325",
      "r344"
     ]
    },
    "us-gaap_ContractorsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractorsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Contracts in Process [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CostOfRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CostOfRevenue",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cost of sales",
        "label": "Cost of Revenue",
        "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r72",
      "r175",
      "r258",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r485",
      "r756",
      "r992"
     ]
    },
    "dei_CountryRegion": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CountryRegion",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Country Region",
        "documentation": "Region code of country"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentFederalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CurrentFederalTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ScheduleofComponentsoftheProvisionforIncomeTaxesTable": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://espey.com/role/ScheduleofComponentsoftheProvisionforIncomeTaxesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current tax expense - federal",
        "label": "Current Federal Tax Expense (Benefit)",
        "documentation": "Amount of current federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r923",
      "r945",
      "r1030"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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": []
    },
    "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CurrentStateAndLocalTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ScheduleofComponentsoftheProvisionforIncomeTaxesTable": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://espey.com/role/ScheduleofComponentsoftheProvisionforIncomeTaxesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current tax (benefit) expense - state",
        "label": "Current State and Local Tax Expense (Benefit)",
        "documentation": "Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r923",
      "r945",
      "r1030"
     ]
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CustomerConcentrationRiskMember",
     "presentation": [
      "http://espey.com/role/ConcentrationofCreditRiskDetails",
      "http://espey.com/role/SignificantCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Customer Concentration Risk [Member]",
        "label": "Customer Concentration Risk [Member]",
        "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r221"
     ]
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "presentation": [
      "http://espey.com/role/EmployeeStockOwnershipPlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Bear interest fixed rate",
        "label": "Debt Instrument, Interest Rate, Stated Percentage",
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement."
       }
      }
     },
     "auth_ref": [
      "r53",
      "r308"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableForSaleTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtSecuritiesAvailableForSaleTable",
     "presentation": [
      "http://espey.com/role/ScheduleofClassifiesInvestmentSecuritiesasAvailableforSaleTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Available-for-Sale [Table]",
        "documentation": "Disclosure of information about investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r227",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtSecuritiesAvailableForSaleTableTextBlock",
     "presentation": [
      "http://espey.com/role/InvestmentSecuritiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Classifies Investment Securities as Available-for-Sale",
        "label": "Debt Securities, Available-for-Sale [Table Text Block]",
        "documentation": "Tabular disclosure of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r965",
      "r966",
      "r967",
      "r968",
      "r969",
      "r970",
      "r971",
      "r972",
      "r973",
      "r974",
      "r975",
      "r976"
     ]
    },
    "us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems",
     "presentation": [
      "http://espey.com/role/PensionExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Expense [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": []
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ScheduleofComponentsoftheProvisionforIncomeTaxesTable": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 3.0
      },
      "http://espey.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow",
      "http://espey.com/role/ProvisionforIncomeTaxesDetails",
      "http://espey.com/role/ScheduleofComponentsoftheProvisionforIncomeTaxesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred income tax benefit",
        "verboseLabel": "Deferred tax benefit",
        "label": "Deferred Income Tax Expense (Benefit)",
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r127",
      "r945"
     ]
    },
    "us-gaap_DeferredIncomeTaxLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": "esp_DeferredTaxAssetLiability",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total deferred tax liability",
        "label": "Deferred Tax Liabilities, Gross",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences."
       }
      }
     },
     "auth_ref": [
      "r58",
      "r59",
      "r101",
      "r411"
     ]
    },
    "us-gaap_DeferredIncomeTaxesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Deferred Tax Assets and Liabilities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredOtherTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredOtherTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred tax benefit",
        "label": "Deferred Other Tax Expense (Benefit)",
        "documentation": "Amount of other deferred income tax expense (benefit) pertaining to income (loss) from continuing operations. For example, but not limited to, acquisition-date income tax benefits or expenses recognized from changes in the acquirer's valuation allowance for its previously existing deferred tax assets resulting from a business combination and adjustments to beginning-of-year balance of a valuation allowance because of a change in circumstance causing a change in judgment about the realizability of the related deferred tax asset in future periods."
       }
      }
     },
     "auth_ref": [
      "r945",
      "r1029"
     ]
    },
    "esp_DeferredTaxAssetLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "DeferredTaxAssetLiability",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net deferred tax asset (liability)",
        "documentation": "Net deferred tax asset (liability).",
        "label": "Deferred Tax Asset Liability"
       }
      }
     },
     "auth_ref": []
    },
    "esp_DeferredTaxAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "DeferredTaxAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred tax asset",
        "documentation": "Deferred tax assets as of the balance sheet date.",
        "label": "Deferred Tax Assets Current"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsGross",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": "esp_DeferredTaxAssetLiability",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total deferred tax assets",
        "label": "Deferred Tax Assets, Gross",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r412"
     ]
    },
    "us-gaap_DeferredTaxAssetsNetAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsNetAbstract",
     "presentation": [
      "http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred tax assets:",
        "label": "Deferred Tax Assets, Net [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsOther",
     "crdr": "debit",
     "presentation": [
      "http://espey.com/role/PropertyPlantandEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred tax asset",
        "label": "Deferred Tax Assets, Other",
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other."
       }
      }
     },
     "auth_ref": [
      "r1028"
     ]
    },
    "esp_DeferredTaxAssetsPensionWithdrawal": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "DeferredTaxAssetsPensionWithdrawal",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Pension Withdrawal",
        "label": "Deferred Tax Assets Pension Withdrawal"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsPropertyPlantAndEquipment",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property, plant and equipment - principally due to differences in depreciation methods",
        "label": "Deferred Tax Assets, Property, Plant and Equipment",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from property, plant, and equipment."
       }
      }
     },
     "auth_ref": [
      "r1028"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "ESOP",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Other",
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences from compensation and benefits, classified as other."
       }
      }
     },
     "auth_ref": [
      "r1028"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based compensation",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-Based Compensation Cost",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation."
       }
      }
     },
     "auth_ref": [
      "r1028"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued expenses",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued Liabilities",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities."
       }
      }
     },
     "auth_ref": [
      "r1028"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventory - effect of uniform capitalization",
        "label": "Deferred Tax Liabilities, Inventory",
        "documentation": "Amount of deferred tax consequences attributable to taxable temporary differences derived from inventory."
       }
      }
     },
     "auth_ref": [
      "r1028"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesNetAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxLiabilitiesNetAbstract",
     "presentation": [
      "http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred tax liability:",
        "label": "Deferred Tax Liabilities, Net [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxLiabilitiesPrepaidExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxLiabilitiesPrepaidExpenses",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Prepaid expenses",
        "label": "Deferred Tax Liabilities, Prepaid Expenses",
        "documentation": "Amount of deferred tax consequences attributable to taxable temporary differences derived from prepaid expenses."
       }
      }
     },
     "auth_ref": [
      "r1028"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://espey.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property, plant and equipment - principally due to differences in depreciation methods",
        "label": "Deferred Tax Liabilities, Property, Plant and Equipment",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment."
       }
      }
     },
     "auth_ref": [
      "r1028"
     ]
    },
    "esp_DeferredTaxLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "DeferredTaxLiability",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred tax liabilities",
        "documentation": "Deferred tax liabilities as of the balance sheet date.",
        "label": "Deferred Tax Liability"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DefinedContributionPlanEmployerMatchingContributionPercent",
     "presentation": [
      "http://espey.com/role/PensionExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Percentage of employer contribution",
        "label": "Defined Contribution Plan, Employer Matching Contribution, Percent of Employees' Gross Pay",
        "documentation": "Percentage of employees' gross pay for which the employer contributes a matching contribution to a defined contribution plan."
       }
      }
     },
     "auth_ref": []
    },
    "esp_DefinedContributionPlanEmployersMatchingContribution": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "DefinedContributionPlanEmployersMatchingContribution",
     "crdr": "debit",
     "presentation": [
      "http://espey.com/role/PensionExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Employee contribution",
        "label": "Defined Contribution Plan Employers Matching Contribution"
       }
      }
     },
     "auth_ref": []
    },
    "dei_DelayedOrContinuousOffering": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DelayedOrContinuousOffering",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Delayed or Continuous Offering"
       }
      }
     },
     "auth_ref": [
      "r837",
      "r838",
      "r852"
     ]
    },
    "us-gaap_Depreciation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Depreciation",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow",
      "http://espey.com/role/PropertyPlantandEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Depreciation",
        "verboseLabel": "Depreciation expense",
        "label": "Depreciation",
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r31"
     ]
    },
    "us-gaap_DepreciationDepletionAndAmortizationPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DepreciationDepletionAndAmortizationPolicyTextBlock",
     "presentation": [
      "http://espey.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Depreciation",
        "label": "Depreciation, Depletion, and Amortization [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for depreciation, depletion, and amortization of property and equipment costs, including methods used and estimated useful lives and how impairment of such assets is assessed and recognized."
       }
      }
     },
     "auth_ref": [
      "r751"
     ]
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisaggregationOfRevenueLineItems",
     "presentation": [
      "http://espey.com/role/RevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue [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": [
      "r343",
      "r761",
      "r762",
      "r763",
      "r764",
      "r765",
      "r766",
      "r767"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "presentation": [
      "http://espey.com/role/StockbasedCompensation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based Compensation",
        "label": "Share-Based Payment Arrangement [Text Block]",
        "documentation": "The entire disclosure for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r363",
      "r365",
      "r393",
      "r394",
      "r396",
      "r770"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Based Compensation [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_DividendOrInterestReinvestmentPlanOnly": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DividendOrInterestReinvestmentPlanOnly",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividend or Interest Reinvestment Plan Only"
       }
      }
     },
     "auth_ref": [
      "r837",
      "r838",
      "r852"
     ]
    },
    "us-gaap_DividendsCommonStockCash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DividendsCommonStockCash",
     "crdr": "debit",
     "presentation": [
      "http://espey.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Dividends paid on common stock",
        "label": "Dividends, Common Stock, Cash",
        "documentation": "Amount of paid and unpaid common stock dividends declared with the form of settlement in cash."
       }
      }
     },
     "auth_ref": [
      "r94"
     ]
    },
    "dei_DocumentAccountingStandard": {
     "xbrltype": "accountingStandardItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentAccountingStandard",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Accounting Standard",
        "documentation": "The basis of accounting the registrant has used to prepare the financial statements included in this filing This can either be 'U.S. GAAP', 'International Financial Reporting Standards', or 'Other'."
       }
      }
     },
     "auth_ref": [
      "r813"
     ]
    },
    "dei_DocumentAnnualReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentAnnualReport",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Annual Report",
        "documentation": "Boolean flag that is true only for a form used as an annual report."
       }
      }
     },
     "auth_ref": [
      "r810",
      "r813",
      "r825"
     ]
    },
    "dei_DocumentCopyrightInformation": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentCopyrightInformation",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Copyright Information",
        "documentation": "The copyright information for the document."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentCreationDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentCreationDate",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Creation Date",
        "documentation": "The date the document was made available and submitted, in YYYY-MM-DD format. The date of submission, date of acceptance by the recipient, and the document effective date are all potentially different."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentDescription",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Description",
        "documentation": "The description of the document."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentDomain",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document [Domain]",
        "documentation": "Type of the document as assigned by the filer, corresponding to SEC document naming convention standards."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentEffectiveDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentEffectiveDate",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Effective Date",
        "documentation": "The date when a document, upon receipt and acceptance, becomes officially effective, in YYYY-MM-DD format. Usually it is a system-assigned date time value, but it may be declared by the submitter in some cases."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFinStmtErrorCorrectionFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFinStmtErrorCorrectionFlag",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Financial Statement Error Correction [Flag]",
        "documentation": "Indicates whether any of the financial statement period in the filing include a restatement due to error correction."
       }
      }
     },
     "auth_ref": [
      "r810",
      "r813",
      "r825",
      "r876"
     ]
    },
    "dei_DocumentFinStmtRestatementRecoveryAnalysisFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFinStmtRestatementRecoveryAnalysisFlag",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Financial Statement Restatement Recovery Analysis [Flag]",
        "documentation": "Indicates whether any of the financial statement periods include restatements that required a recovery analysis of incentive-based compensation received by any of the registrant's executive officers during the relevant recovery period pursuant to \u00a7240.10D-1(b)."
       }
      }
     },
     "auth_ref": [
      "r810",
      "r813",
      "r825",
      "r876"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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/2024",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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_DocumentInformationDocumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentInformationDocumentAxis",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Information, Document [Axis]",
        "documentation": "The axis of a table defines the relationship between the domain members or categories in the table and the line items or concepts that complete the table."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentInformationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentInformationLineItems",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Information [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": []
    },
    "dei_DocumentInformationTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentInformationTable",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Information [Table]",
        "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentInformationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentInformationTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Information [Text Block]",
        "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentName",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Name",
        "documentation": "Name of the document as assigned by the filer, corresponding to SEC document naming convention standards. Examples appear in the &lt;FILENAME> field of EDGAR filings, such as 'htm_25911.htm', 'exhibit1.htm', 'v105727_8k.txt'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodStartDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentPeriodStartDate",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period Start Date",
        "documentation": "The start date of the period covered in the document, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentQuarterlyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentQuarterlyReport",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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": [
      "r811"
     ]
    },
    "dei_DocumentRegistrationStatement": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentRegistrationStatement",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Registration Statement",
        "documentation": "Boolean flag that is true only for a form used as a registration statement."
       }
      }
     },
     "auth_ref": [
      "r799"
     ]
    },
    "dei_DocumentShellCompanyEventDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentShellCompanyEventDate",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Shell Company Event Date",
        "documentation": "Date of event requiring a shell company report."
       }
      }
     },
     "auth_ref": [
      "r813"
     ]
    },
    "dei_DocumentShellCompanyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentShellCompanyReport",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Shell Company Report",
        "documentation": "Boolean flag that is true for a Shell Company Report pursuant to section 13 or 15(d) of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r813"
     ]
    },
    "dei_DocumentSubtitle": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentSubtitle",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Subtitle",
        "documentation": "The subtitle given to the document resource by the creator or publisher. An example is 'A New Period of Growth'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentSynopsis": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentSynopsis",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Synopsis",
        "documentation": "A synopsis or description of the document provided by the creator or publisher. Examples are 'This is the 2006 annual report for Company. During this period we saw revenue grow by 10% and earnings per share grow by 15% over the prior period'"
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentTitle": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentTitle",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Title",
        "documentation": "The name or title given to the document resource by the creator or publisher. An example is '2002 Annual Report'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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": [
      "r853"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentType",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentVersion": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentVersion",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Version",
        "documentation": "The version identifier of the document."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Documents Incorporated by Reference [Text Block]",
        "documentation": "Documents incorporated by reference."
       }
      }
     },
     "auth_ref": [
      "r802"
     ]
    },
    "ecd_DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year [Member]",
        "terseLabel": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year"
       }
      }
     },
     "auth_ref": [
      "r865"
     ]
    },
    "us-gaap_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareAbstract",
     "presentation": [
      "http://espey.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net income per share:",
        "label": "Earnings Per Share [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://espey.com/role/ConsolidatedIncomeStatement",
      "http://espey.com/role/ScheduleofQuarterlyFinancialInformationDetailsScheduleofQuarterlyFinancialInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Basic (in Dollars per share)",
        "verboseLabel": "Earnings Per Share, Basic (in Dollars per share)",
        "label": "Earnings Per Share, Basic",
        "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": [
      "r166",
      "r184",
      "r185",
      "r186",
      "r187",
      "r188",
      "r189",
      "r194",
      "r196",
      "r201",
      "r202",
      "r203",
      "r206",
      "r436",
      "r445",
      "r472",
      "r473",
      "r564",
      "r585",
      "r753"
     ]
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://espey.com/role/ConsolidatedIncomeStatement",
      "http://espey.com/role/ScheduleofQuarterlyFinancialInformationDetailsScheduleofQuarterlyFinancialInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Diluted (in Dollars per share)",
        "verboseLabel": "Earnings Per Share, Diluted (in Dollars per share)",
        "label": "Earnings Per Share, Diluted",
        "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": [
      "r166",
      "r184",
      "r185",
      "r186",
      "r187",
      "r188",
      "r189",
      "r196",
      "r201",
      "r202",
      "r203",
      "r206",
      "r436",
      "r445",
      "r472",
      "r473",
      "r564",
      "r585",
      "r753"
     ]
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerSharePolicyTextBlock",
     "presentation": [
      "http://espey.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Per Share Amounts",
        "label": "Earnings Per Share, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r25",
      "r205"
     ]
    },
    "dei_EffectiveAfter60Days486a": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EffectiveAfter60Days486a",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective after 60 Days, 486(a)"
       }
      }
     },
     "auth_ref": [
      "r915"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "calculation": {
      "http://espey.com/role/ScheduleofEffectiveIncomeTaxRatesTable": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://espey.com/role/ProvisionforIncomeTaxesDetails",
      "http://espey.com/role/ScheduleofEffectiveIncomeTaxRatesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Effective tax rate",
        "label": "Effective Income Tax Rate Reconciliation, Percent",
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r403",
      "r772"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "calculation": {
      "http://espey.com/role/ScheduleofEffectiveIncomeTaxRatesTable": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://espey.com/role/ScheduleofEffectiveIncomeTaxRatesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "U.S. federal statutory income tax rate",
        "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent",
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)."
       }
      }
     },
     "auth_ref": [
      "r176",
      "r403",
      "r423",
      "r772"
     ]
    },
    "esp_EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares": {
     "xbrltype": "percentItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares",
     "calculation": {
      "http://espey.com/role/ScheduleofEffectiveIncomeTaxRatesTable": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://espey.com/role/ScheduleofEffectiveIncomeTaxRatesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Dividend on allocated ESOP shares",
        "documentation": "Dividend on allocated ESOP shares.",
        "label": "Effective Income Tax Rate Reconciliation Dividend On Allocated ESOPShares"
       }
      }
     },
     "auth_ref": []
    },
    "esp_EffectiveIncomeTaxRateReconciliationESOPFairValue": {
     "xbrltype": "percentItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "EffectiveIncomeTaxRateReconciliationESOPFairValue",
     "calculation": {
      "http://espey.com/role/ScheduleofEffectiveIncomeTaxRatesTable": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://espey.com/role/ScheduleofEffectiveIncomeTaxRatesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "ESOP cost versus Fair Market Value",
        "documentation": "The portion of the difference between the effective income tax rate and domestic federal statutory income tax rate attributable to differences in ESOP fair value.",
        "label": "Effective Income Tax Rate Reconciliation ESOPFair Value"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost",
     "calculation": {
      "http://espey.com/role/ScheduleofEffectiveIncomeTaxRatesTable": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://espey.com/role/ScheduleofEffectiveIncomeTaxRatesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based compensation",
        "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-Based Payment Arrangement, Percent",
        "documentation": "Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r772",
      "r946",
      "r1024",
      "r1026"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationOtherAdjustments",
     "calculation": {
      "http://espey.com/role/ScheduleofEffectiveIncomeTaxRatesTable": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://espey.com/role/ScheduleofEffectiveIncomeTaxRatesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other",
        "label": "Effective Income Tax Rate Reconciliation, Other Adjustments, Percent",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments."
       }
      }
     },
     "auth_ref": [
      "r772",
      "r946",
      "r1024",
      "r1025"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes",
     "calculation": {
      "http://espey.com/role/ScheduleofEffectiveIncomeTaxRatesTable": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://espey.com/role/ScheduleofEffectiveIncomeTaxRatesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "State franchise tax, net of federal income tax benefit",
        "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit)."
       }
      }
     },
     "auth_ref": [
      "r405",
      "r772",
      "r946",
      "r1024"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationTaxCreditsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Effective Income Tax Rates [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EffectiveOnDate486a": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EffectiveOnDate486a",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective on Date, 486(a)"
       }
      }
     },
     "auth_ref": [
      "r915"
     ]
    },
    "dei_EffectiveOnDate486b": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EffectiveOnDate486b",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective on Date, 486(b)"
       }
      }
     },
     "auth_ref": [
      "r916"
     ]
    },
    "dei_EffectiveOnSetDate486a": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EffectiveOnSetDate486a",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective on Set Date, 486(a)"
       }
      }
     },
     "auth_ref": [
      "r915"
     ]
    },
    "dei_EffectiveOnSetDate486b": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EffectiveOnSetDate486b",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective on Set Date, 486(b)"
       }
      }
     },
     "auth_ref": [
      "r916"
     ]
    },
    "dei_EffectiveUponFiling462e": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EffectiveUponFiling462e",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Upon Filing, 462(e)"
       }
      }
     },
     "auth_ref": [
      "r914"
     ]
    },
    "dei_EffectiveUponFiling486b": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EffectiveUponFiling486b",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective upon Filing, 486(b)"
       }
      }
     },
     "auth_ref": [
      "r916"
     ]
    },
    "dei_EffectiveWhenDeclaredSection8c": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EffectiveWhenDeclaredSection8c",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective when Declared, Section 8(c)"
       }
      }
     },
     "auth_ref": [
      "r918"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationAggregateDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeServiceShareBasedCompensationAggregateDisclosuresAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Stock Option Activity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Period in which compensation cost will be recognized",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition",
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r395"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions",
     "crdr": "debit",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unrecognized compensation costs",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount",
        "documentation": "Amount of cost to be recognized for option under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1023"
     ]
    },
    "us-gaap_EmployeeStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeStockMember",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Employee Stock [Member]",
        "label": "Employee Stock [Member]",
        "documentation": "An Employee Stock Purchase Plan is a tax-efficient means by which employees of a corporation can purchase the corporation's stock."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeStockOptionMember",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Stock Options [Member]",
        "label": "Employee Stock Option [Member]",
        "terseLabel": "Employee Stock Option",
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time."
       }
      }
     },
     "auth_ref": []
    },
    "esp_EmployeeStockOwnershipPlanDetailsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "EmployeeStockOwnershipPlanDetailsTable",
     "presentation": [
      "http://espey.com/role/EmployeeStockOwnershipPlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Stock Ownership Plan (Details) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeStockOwnershipPlanESOPCompensationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeStockOwnershipPlanESOPCompensationExpense",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow",
      "http://espey.com/role/EmployeeStockOwnershipPlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "ESOP compensation expense",
        "label": "Employee Stock Ownership Plan (ESOP), Compensation Expense",
        "documentation": "The amount of plan compensation cost recognized during the period."
       }
      }
     },
     "auth_ref": [
      "r41"
     ]
    },
    "us-gaap_EmployeeStockOwnershipPlanESOPDeferredSharesFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeStockOwnershipPlanESOPDeferredSharesFairValue",
     "crdr": "debit",
     "presentation": [
      "http://espey.com/role/ScheduleofESOPSharesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair value of unearned shares (in Dollars)",
        "label": "Employee Stock Ownership Plan (ESOP), Deferred Shares, Fair Value",
        "documentation": "Fair value of unearned shares held by the employee stock ownership plan (ESOP)."
       }
      }
     },
     "auth_ref": [
      "r43"
     ]
    },
    "us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis",
     "presentation": [
      "http://espey.com/role/EmployeeStockOwnershipPlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Stock Ownership Plan (ESOP) Name [Axis]",
        "documentation": "Information by name of employee stock ownership plan."
       }
      }
     },
     "auth_ref": [
      "r40"
     ]
    },
    "us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeStockOwnershipPlanESOPDisclosuresLineItems",
     "presentation": [
      "http://espey.com/role/EmployeeStockOwnershipPlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Stock Ownership Plan [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": []
    },
    "us-gaap_EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares",
     "calculation": {
      "http://espey.com/role/ScheduleofESOPSharesTable": {
       "parentTag": "us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOP",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://espey.com/role/ScheduleofESOPSharesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Allocated shares",
        "label": "Employee Stock Ownership Plan (ESOP), Number of Allocated Shares",
        "documentation": "The shares or units in an ESOP trust that have been assigned to individual participant accounts based on a known formula. IRS rules require allocations to be nondiscriminatory generally based on compensation, length of service, or a combination of both. For any particular participant such shares or units may be vested, unvested, or partially vested."
       }
      }
     },
     "auth_ref": [
      "r42"
     ]
    },
    "us-gaap_EmployeeStockOwnershipPlanESOPNumberOfSuspenseShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeStockOwnershipPlanESOPNumberOfSuspenseShares",
     "calculation": {
      "http://espey.com/role/ScheduleofESOPSharesTable": {
       "parentTag": "us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOP",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://espey.com/role/ScheduleofESOPSharesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unearned shares",
        "label": "Employee Stock Ownership Plan (ESOP), Number of Suspense Shares",
        "documentation": "Shares contributed to the ESOP that have not yet been released, committed to be released, or allocated to participant accounts. Suspense shares generally collateralize ESOP debt."
       }
      }
     },
     "auth_ref": [
      "r42"
     ]
    },
    "us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOP": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeStockOwnershipPlanESOPSharesInESOP",
     "calculation": {
      "http://espey.com/role/ScheduleofESOPSharesTable": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://espey.com/role/ScheduleofESOPSharesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total shares held by the ESOP",
        "label": "Employee Stock Ownership Plan (ESOP), Shares in ESOP",
        "documentation": "Sum of the allocated, committed-to-be-released and suspense shares of the entity held by the plan."
       }
      }
     },
     "auth_ref": [
      "r42"
     ]
    },
    "us-gaap_EmployeeStockOwnershipPlanESOPSharesInESOPAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeStockOwnershipPlanESOPSharesInESOPAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of ESOP Shares [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "esp_EmployeeStockOwnershipPlanHoursWorked": {
     "xbrltype": "integerItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "EmployeeStockOwnershipPlanHoursWorked",
     "presentation": [
      "http://espey.com/role/EmployeeStockOwnershipPlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of hours worked per year to qualify for the plan",
        "documentation": "Minimum number of hours worked per year for nonunion employees to participate in ESOP.",
        "label": "Employee Stock Ownership Plan Hours Worked"
       }
      }
     },
     "auth_ref": []
    },
    "esp_EmployeeStockOwnershipPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "EmployeeStockOwnershipPlanMember",
     "presentation": [
      "http://espey.com/role/EmployeeStockOwnershipPlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Employee Stock Ownership Plan [Member]",
        "documentation": "Information by name of employee stock ownership plan.",
        "label": "Employee Stock Ownership Plan Member"
       }
      }
     },
     "auth_ref": []
    },
    "esp_EmployeeStockOwnershipPlanTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "EmployeeStockOwnershipPlanTextBlock",
     "presentation": [
      "http://espey.com/role/EmployeeStockOwnershipPlan"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Employee Stock Ownership Plan",
        "documentation": "The entire disclosure for employee stock ownership plan.",
        "label": "Employee Stock Ownership Plan Text Block"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntitiesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntitiesTable",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entities [Table]",
        "documentation": "Container to assemble all relevant information about each entity associated with the document instance"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAccountingStandard": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAccountingStandard",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Accounting Standard",
        "documentation": "The standardized abbreviation of the accounting standard used by the entity. This can either be US GAAP as promulgated by the FASB or IFRS as promulgated by the IASB. Example: 'US GAAP', 'IFRS'. This is distinct from the Document Accounting Standard element."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressDescription",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Description",
        "documentation": "Description of the kind of address for the entity, if needed to distinguish more finely among mailing, principal, legal, accounting, contact or other addresses."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine2": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressLine2",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line Two",
        "documentation": "Address Line 2 such as Street or Suite number"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine3": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressLine3",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line Three",
        "documentation": "Address Line 3 such as an Office Park"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCountry": {
     "xbrltype": "countryCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressCountry",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Country",
        "documentation": "ISO 3166-1 alpha-2 country code."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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/2024",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressesAddressTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressesAddressTypeAxis",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Addresses, Address Type [Axis]",
        "documentation": "The axis of a table defines the relationship between the domain members or categories in the table and the line items or concepts that complete the table."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressesLineItems",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Addresses [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": []
    },
    "dei_EntityAddressesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressesTable",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Addresses [Table]",
        "documentation": "Container of address information for the entity"
       }
      }
     },
     "auth_ref": [
      "r801"
     ]
    },
    "dei_EntityBankruptcyProceedingsReportingCurrent": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityBankruptcyProceedingsReportingCurrent",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Bankruptcy Proceedings, Reporting Current",
        "documentation": "For registrants involved in bankruptcy proceedings during the preceding five years, the value Yes indicates that the registrant has filed all documents and reports required to be filed by Section 12, 13 or 15(d) of the Securities Exchange Act of 1934 subsequent to the distribution of securities under a plan confirmed by a court; the value No indicates the registrant has not. Registrants not involved in bankruptcy proceedings during the preceding five years should not report this element."
       }
      }
     },
     "auth_ref": [
      "r805"
     ]
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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": [
      "r801"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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_EntityContactPersonnelLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityContactPersonnelLineItems",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Contact Personnel [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": []
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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_EntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityDomain",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/AuditInformation",
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity [Domain]",
        "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r801"
     ]
    },
    "dei_EntityExTransitionPeriod": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityExTransitionPeriod",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Ex Transition Period",
        "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards."
       }
      }
     },
     "auth_ref": [
      "r917"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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/2024",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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": [
      "r801"
     ]
    },
    "dei_EntityHomeCountryISOCode": {
     "xbrltype": "countryCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityHomeCountryISOCode",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Home Country ISO Code",
        "documentation": "ISO 3166-1 alpha-2 country code for the Entity's home country. If home country is different from country of legal incorporation, then also provide country of legal incorporation in the 'Entity Incorporation, State Country Code' element."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityIncorporationDateOfIncorporation": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityIncorporationDateOfIncorporation",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation, Date of Incorporation",
        "documentation": "Date when an entity was incorporated"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityInformationFormerLegalOrRegisteredName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityInformationFormerLegalOrRegisteredName",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Information, Former Legal or Registered Name",
        "documentation": "Former Legal or Registered Name of an entity"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityInformationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityInformationLineItems",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Information [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": []
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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": [
      "r906"
     ]
    },
    "dei_EntityInvCompanyType": {
     "xbrltype": "invCompanyType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityInvCompanyType",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Inv Company Type",
        "documentation": "One of: N-1A (Mutual Fund), N-1 (Open-End Separate Account with No Variable Annuities), N-2 (Closed-End Investment Company), N-3 (Separate Account Registered as Open-End Management Investment Company), N-4 (Variable Annuity UIT Separate Account), N-5 (Small Business Investment Company), N-6 (Variable Life UIT Separate Account), S-1 or S-3 (Face Amount Certificate Company), S-6 (UIT, Non-Insurance Product)."
       }
      }
     },
     "auth_ref": [
      "r905"
     ]
    },
    "dei_EntityLegalForm": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityLegalForm",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Legal Form",
        "documentation": "The details of the entity's legal form. Examples are partnership, limited liability company, trust, etc."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityListingDepositoryReceiptRatio": {
     "xbrltype": "pureItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityListingDepositoryReceiptRatio",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Listing, Depository Receipt Ratio",
        "documentation": "The number of underlying shares represented by one American Depository Receipt (ADR) or Global Depository Receipt (GDR). A value of '3' means that one ADR represents 3 underlying shares. If one underlying share represents 2 ADR's then the value would be represented as '0.5'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityListingDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityListingDescription",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Listing, Description",
        "documentation": "Description of the kind of listing the entity has on the exchange, if necessary to further describe different instruments that are already distinguished by Entity, Exchange and Security."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityListingForeign": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityListingForeign",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Listing, Foreign",
        "documentation": "Yes or No value indicating whether this is a listing that is a foreign listing or depository receipt."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityListingParValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityListingParValuePerShare",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Listing, Par Value Per Share",
        "documentation": "The par value per share of security quoted in same currency as Trading currency. Example: '0.01'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityListingPrimary": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityListingPrimary",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Listing, Primary",
        "documentation": "Yes or No value indicating whether a listing of an instrument on an exchange is primary for the entity."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityListingSecurityTradingCurrency": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityListingSecurityTradingCurrency",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Listing, Security Trading Currency",
        "documentation": "The three character ISO 4217 code for the currency in which the security is quoted. Example: 'USD'"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityListingsExchangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityListingsExchangeAxis",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Listings, Exchange [Axis]",
        "documentation": "The axis of a table defines the relationship between the domain members or categories in the table and the line items or concepts that complete the table."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityListingsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityListingsLineItems",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Listings [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": []
    },
    "dei_EntityListingsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityListingsTable",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Listings [Table]",
        "documentation": "Container for exchange listing information for an entity"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityNumberOfEmployees": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityNumberOfEmployees",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Number of Employees",
        "documentation": "Number of persons employed by the Entity"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityPhoneFaxNumbersLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityPhoneFaxNumbersLineItems",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Phone Fax Numbers [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": []
    },
    "dei_EntityPrimarySicNumber": {
     "xbrltype": "sicNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityPrimarySicNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Primary SIC Number",
        "documentation": "Primary Standard Industrial Classification (SIC) Number for the Entity."
       }
      }
     },
     "auth_ref": [
      "r825"
     ]
    },
    "dei_EntityPublicFloat": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityPublicFloat",
     "crdr": "credit",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Public Float",
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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": [
      "r801"
     ]
    },
    "dei_EntityReportingCurrencyISOCode": {
     "xbrltype": "currencyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityReportingCurrencyISOCode",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Reporting Currency ISO Code",
        "documentation": "The three character ISO 4217 code for the currency used for reporting purposes. Example: 'USD'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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": [
      "r801"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r801"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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": [
      "r801"
     ]
    },
    "dei_EntityTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity [Text Block]",
        "documentation": "Container to serve as parent of six Entity related Table concepts."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityVoluntaryFilers": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityVoluntaryFilers",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Voluntary Filers",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityWellKnownSeasonedIssuer",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Well-known Seasoned Issuer",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A."
       }
      }
     },
     "auth_ref": [
      "r908"
     ]
    },
    "ecd_EqtyAwrdsAdjFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EqtyAwrdsAdjFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Awards Adjustments, Footnote [Text Block]",
        "terseLabel": "Equity Awards Adjustments, Footnote"
       }
      }
     },
     "auth_ref": [
      "r859"
     ]
    },
    "ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Awards Adjustments, Excluding Value Reported in the Compensation Table [Member]",
        "terseLabel": "Equity Awards Adjustments, Excluding Value Reported in Compensation Table"
       }
      }
     },
     "auth_ref": [
      "r901"
     ]
    },
    "ecd_EqtyAwrdsAdjsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EqtyAwrdsAdjsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Awards Adjustments [Member]",
        "terseLabel": "Equity Awards Adjustments"
       }
      }
     },
     "auth_ref": [
      "r901"
     ]
    },
    "ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EqtyAwrdsInSummryCompstnTblForAplblYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table [Member]",
        "terseLabel": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table"
       }
      }
     },
     "auth_ref": [
      "r901"
     ]
    },
    "us-gaap_EquipmentExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquipmentExpense",
     "crdr": "debit",
     "presentation": [
      "http://espey.com/role/PropertyPlantandEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Funding amount",
        "label": "Equipment Expense",
        "documentation": "This element represents equipment expense including depreciation, repairs, rentals, and service contract costs. This item also includes equipment purchases which do not qualify for capitalization in accordance with the entity's accounting policy. This item may also include furniture expenses."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://espey.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Component [Domain]",
        "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": [
      "r11",
      "r133",
      "r161",
      "r162",
      "r163",
      "r177",
      "r178",
      "r179",
      "r181",
      "r188",
      "r190",
      "r192",
      "r210",
      "r262",
      "r268",
      "r291",
      "r323",
      "r418",
      "r419",
      "r432",
      "r433",
      "r434",
      "r437",
      "r444",
      "r445",
      "r453",
      "r455",
      "r456",
      "r457",
      "r458",
      "r460",
      "r471",
      "r486",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r494",
      "r496",
      "r504",
      "r581",
      "r592",
      "r593",
      "r594",
      "r614",
      "r666"
     ]
    },
    "ecd_EquityValuationAssumptionDifferenceFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EquityValuationAssumptionDifferenceFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Valuation Assumption Difference, Footnote [Text Block]",
        "terseLabel": "Equity Valuation Assumption Difference, Footnote"
       }
      }
     },
     "auth_ref": [
      "r869"
     ]
    },
    "ecd_ErrCompAnalysisTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ErrCompAnalysisTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneous Compensation Analysis [Text Block]",
        "terseLabel": "Erroneous Compensation Analysis"
       }
      }
     },
     "auth_ref": [
      "r818",
      "r829",
      "r845",
      "r880"
     ]
    },
    "ecd_ErrCompRecoveryTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ErrCompRecoveryTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneously Awarded Compensation Recovery [Table]",
        "terseLabel": "Erroneously Awarded Compensation Recovery"
       }
      }
     },
     "auth_ref": [
      "r815",
      "r826",
      "r842",
      "r877"
     ]
    },
    "dei_ExchangeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "ExchangeDomain",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Exchange [Domain]",
        "documentation": "The set of all exchanges. MIC exchange codes are drawn from ISO 10383."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ExecutiveCategoryAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ExecutiveCategoryAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Executive Category [Axis]",
        "terseLabel": "Executive Category:"
       }
      }
     },
     "auth_ref": [
      "r875"
     ]
    },
    "dei_ExhibitsOnly462d": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "ExhibitsOnly462d",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Exhibits Only, 462(d)"
       }
      }
     },
     "auth_ref": [
      "r913"
     ]
    },
    "dei_ExhibitsOnly462dFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "ExhibitsOnly462dFileNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Exhibits Only, 462(d), File Number"
       }
      }
     },
     "auth_ref": [
      "r913"
     ]
    },
    "dei_Extension": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Extension",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Extension",
        "documentation": "Extension number for local phone number."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain",
     "presentation": [
      "http://espey.com/role/PropertyPlantandEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Asset Class [Domain]",
        "documentation": "Class of asset."
       }
      }
     },
     "auth_ref": [
      "r475",
      "r476",
      "r477",
      "r478",
      "r479",
      "r480",
      "r481",
      "r775"
     ]
    },
    "us-gaap_FairValueByAssetClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueByAssetClassAxis",
     "presentation": [
      "http://espey.com/role/PropertyPlantandEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Asset Class [Axis]",
        "documentation": "Information by class of asset."
       }
      }
     },
     "auth_ref": [
      "r475",
      "r476",
      "r477",
      "r478",
      "r479",
      "r480",
      "r481",
      "r775"
     ]
    },
    "us-gaap_FairValueInputsQuantitativeInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueInputsQuantitativeInformationAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Outlines the Weighted Average Assumptions [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueOfFinancialInstrumentsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueOfFinancialInstrumentsPolicy",
     "presentation": [
      "http://espey.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value of Financial Instruments",
        "label": "Fair Value of Financial Instruments, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_FinancialInstrumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinancialInstrumentAxis",
     "presentation": [
      "http://espey.com/role/ScheduleofClassifiesInvestmentSecuritiesasAvailableforSaleTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial Instrument [Axis]",
        "documentation": "Information by type of financial instrument."
       }
      }
     },
     "auth_ref": [
      "r227",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r254",
      "r255",
      "r256",
      "r270",
      "r271",
      "r272",
      "r273",
      "r274",
      "r276",
      "r277",
      "r278",
      "r309",
      "r321",
      "r461",
      "r482",
      "r511",
      "r512",
      "r513",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r520",
      "r521",
      "r522",
      "r523",
      "r524",
      "r525",
      "r527",
      "r528",
      "r529",
      "r530",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r582",
      "r759",
      "r773",
      "r775",
      "r776",
      "r777",
      "r778",
      "r779",
      "r780",
      "r781",
      "r782",
      "r784",
      "r926",
      "r927",
      "r928",
      "r929",
      "r930",
      "r931",
      "r932",
      "r976",
      "r977",
      "r978",
      "r979",
      "r1032",
      "r1033",
      "r1034",
      "r1035",
      "r1036",
      "r1037"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://espey.com/role/RevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "documentation": "Information by major type or class of finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r282",
      "r283",
      "r284",
      "r285",
      "r286",
      "r287",
      "r288",
      "r289",
      "r558",
      "r562",
      "r746"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://espey.com/role/RevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]",
        "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company."
       }
      }
     },
     "auth_ref": [
      "r282",
      "r283",
      "r284",
      "r285",
      "r286",
      "r287",
      "r288",
      "r289",
      "r746"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsNet",
     "crdr": "debit",
     "presentation": [
      "http://espey.com/role/RevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Intangible assets",
        "label": "Finite-Lived Intangible Assets, Net",
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r558",
      "r986"
     ]
    },
    "esp_FiveCustomersMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "FiveCustomersMember",
     "presentation": [
      "http://espey.com/role/ConcentrationofCreditRiskDetails",
      "http://espey.com/role/SignificantCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Five Customers [Member]",
        "label": "Five Customers Member"
       }
      }
     },
     "auth_ref": []
    },
    "esp_FloatingRatePercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "FloatingRatePercentage",
     "presentation": [
      "http://espey.com/role/LineofCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Floating rate percentage",
        "documentation": "Floating rate percentage.",
        "label": "Floating Rate Percentage"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount",
        "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount"
       }
      }
     },
     "auth_ref": [
      "r822",
      "r833",
      "r849",
      "r884"
     ]
    },
    "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Expense of Enforcement, Amount",
        "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount"
       }
      }
     },
     "auth_ref": [
      "r822",
      "r833",
      "r849",
      "r884"
     ]
    },
    "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Violation of Home Country Law, Amount",
        "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount"
       }
      }
     },
     "auth_ref": [
      "r822",
      "r833",
      "r849",
      "r884"
     ]
    },
    "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Explanation of Impracticability [Text Block]",
        "terseLabel": "Forgone Recovery, Explanation of Impracticability"
       }
      }
     },
     "auth_ref": [
      "r822",
      "r833",
      "r849",
      "r884"
     ]
    },
    "ecd_ForgoneRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r822",
      "r833",
      "r849",
      "r884"
     ]
    },
    "dei_FormerAddressMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "FormerAddressMember",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Former Address [Member]",
        "documentation": "Former address for entity"
       }
      }
     },
     "auth_ref": [
      "r812",
      "r836"
     ]
    },
    "dei_FormerFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "FormerFiscalYearEndDate",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Former Fiscal Year End Date",
        "documentation": "Former end date of previous fiscal years"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year [Member]",
        "terseLabel": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year"
       }
      }
     },
     "auth_ref": [
      "r864"
     ]
    },
    "us-gaap_FurnitureAndFixturesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FurnitureAndFixturesMember",
     "presentation": [
      "http://espey.com/role/ScheduleofEstimatedUsefulLivesofDepreciableAssetsTable",
      "http://espey.com/role/ScheduleofPropertyPlantandEquipmentTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Furniture and fixtures [Member]",
        "label": "Furniture and Fixtures [Member]",
        "documentation": "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": []
    },
    "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GainLossOnSaleOfPropertyPlantEquipment",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Loss (gain) on disposal of property, plant and equipment",
        "label": "Gain (Loss) on Disposition of Property Plant Equipment",
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GrossProfit",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedIncomeStatement",
      "http://espey.com/role/ScheduleofQuarterlyFinancialInformationDetailsScheduleofQuarterlyFinancialInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Gross profit",
        "terseLabel": "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": [
      "r70",
      "r72",
      "r110",
      "r175",
      "r258",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r485",
      "r755",
      "r756",
      "r953",
      "r954",
      "r955",
      "r956",
      "r957",
      "r992"
     ]
    },
    "dei_IcfrAuditorAttestationFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "IcfrAuditorAttestationFlag",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "auth_ref": [
      "r810",
      "r813",
      "r825"
     ]
    },
    "us-gaap_ImpairmentOfLongLivedAssetsToBeDisposedOf": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ImpairmentOfLongLivedAssetsToBeDisposedOf",
     "crdr": "debit",
     "presentation": [
      "http://espey.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Impairments of long-lived assets",
        "label": "Impairment of Long-Lived Assets to be Disposed of",
        "documentation": "The aggregate amount of write-downs for impairments recognized during the period for long-lived assets held for abandonment, exchange or sale."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r89",
      "r774"
     ]
    },
    "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
     "presentation": [
      "http://espey.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Impairment of Long-Lived Assets",
        "label": "Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r91"
     ]
    },
    "esp_IncentiveStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "IncentiveStockOptionMember",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Incentive Stock Options [Member]",
        "documentation": "Incentive Stock Options [Member]",
        "label": "Incentive Stock Option Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income 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": [
      "r71",
      "r106",
      "r110",
      "r565",
      "r579",
      "r755",
      "r756",
      "r953",
      "r954",
      "r955",
      "r956",
      "r957"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxContingencyLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxContingencyLineItems",
     "presentation": [
      "http://espey.com/role/ProvisionforIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Provision for Income Taxes [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": []
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Provision for Income Taxes [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://espey.com/role/ProvisionforIncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Provision for Income Taxes",
        "label": "Income Tax Disclosure [Text Block]",
        "documentation": "The entire disclosure for income tax."
       }
      }
     },
     "auth_ref": [
      "r176",
      "r399",
      "r403",
      "r406",
      "r407",
      "r408",
      "r409",
      "r414",
      "r424",
      "r426",
      "r427",
      "r428",
      "r610",
      "r772"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      },
      "http://espey.com/role/ScheduleofComponentsoftheProvisionforIncomeTaxesTable": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedIncomeStatement",
      "http://espey.com/role/ScheduleofComponentsoftheProvisionforIncomeTaxesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Provision for income taxes",
        "terseLabel": "Provision for income taxes",
        "label": "Income Tax Expense (Benefit)",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r115",
      "r128",
      "r191",
      "r192",
      "r207",
      "r215",
      "r218",
      "r402",
      "r403",
      "r425",
      "r587",
      "r772"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Components of the Provision for Income Taxes [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxPolicyTextBlock",
     "presentation": [
      "http://espey.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Taxes",
        "label": "Income Tax, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements."
       }
      }
     },
     "auth_ref": [
      "r160",
      "r400",
      "r401",
      "r409",
      "r410",
      "r413",
      "r417",
      "r608"
     ]
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxesPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income taxes paid",
        "label": "Income Taxes Paid, Net",
        "documentation": "Amount, after refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax."
       }
      }
     },
     "auth_ref": [
      "r21",
      "r171",
      "r415",
      "r416"
     ]
    },
    "us-gaap_IncomeTaxesReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxesReceivable",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income tax receivable",
        "label": "Income Taxes Receivable, Current",
        "documentation": "Carrying amount due within one year of the balance sheet date (or one operating cycle, if longer) from tax authorities as of the balance sheet date representing refunds of overpayments or recoveries based on agreed-upon resolutions of disputes."
       }
      }
     },
     "auth_ref": [
      "r99",
      "r934"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccountsPayable",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Increase (decrease) in 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": [
      "r5"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Increase in trade accounts receivable",
        "label": "Increase (Decrease) in 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": [
      "r5"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Increase (decrease) in income taxes payable",
        "label": "Increase (Decrease) in 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": [
      "r5"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccruedSalaries": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccruedSalaries",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Increase in accrued salaries and wages",
        "label": "Increase (Decrease) in Accrued Salaries",
        "documentation": "The increase (decrease) during the period in accrued salaries."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Increase in contract liabilities",
        "label": "Increase (Decrease) in Contract with Customer, Liability",
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r550",
      "r943"
     ]
    },
    "us-gaap_IncreaseDecreaseInIncomeTaxesReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInIncomeTaxesReceivable",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 15.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Decrease (increase) in income tax receivable",
        "label": "Increase (Decrease) in Income Taxes Receivable",
        "documentation": "The increase (decrease) during the reporting period in income taxes receivable, which represents the amount due from tax authorities for refunds of overpayments or recoveries of income taxes paid."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 16.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Decrease (increase) in 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": [
      "r5"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Changes in assets and liabilities:",
        "label": "Increase (Decrease) in Operating Capital [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOtherAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOtherAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Increase (decrease) in other accrued expenses",
        "label": "Increase (Decrease) in Other Accrued Liabilities",
        "documentation": "The increase (decrease) during the reporting period in other expenses incurred but not yet paid."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 17.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Decrease (increase) in 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": [
      "r5"
     ]
    },
    "esp_IncreaseDecreaseInVacationAccrual": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "IncreaseDecreaseInVacationAccrual",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "(Decrease) increase in vacation accrual",
        "documentation": "The increase (decrease) in vacation accrual for the period.",
        "label": "Increase Decrease In Vacation Accrual"
       }
      }
     },
     "auth_ref": []
    },
    "esp_IncreaseReductionInRateResultingFromAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "IncreaseReductionInRateResultingFromAbstract",
     "presentation": [
      "http://espey.com/role/ScheduleofEffectiveIncomeTaxRatesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Increase (reduction) in rate resulting from:",
        "label": "Increase Reduction In Rate Resulting From Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "esp_IncreasedecreaseInPayrollAndOtherTaxesWithheld": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "IncreasedecreaseInPayrollAndOtherTaxesWithheld",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Decrease (increase) in payroll and other taxes withheld",
        "documentation": "Increase (decrease) in payroll and other taxes withheld.",
        "label": "Increasedecrease In Payroll And Other Taxes Withheld"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "presentation": [
      "http://espey.com/role/ScheduleofReconciliationoftheNumeratorsandDenominatorsoftheBasicandDilutedEarningsPerShareComputationsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average dilutive effect of stock options",
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements",
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method."
       }
      }
     },
     "auth_ref": [
      "r197",
      "r198",
      "r199",
      "r203",
      "r364"
     ]
    },
    "ecd_IndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "IndividualAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Individual [Axis]",
        "terseLabel": "Individual:"
       }
      }
     },
     "auth_ref": [
      "r822",
      "r833",
      "r849",
      "r875",
      "r884",
      "r888",
      "r896"
     ]
    },
    "esp_IndividualEmployeeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "IndividualEmployeeMember",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Individual Employee [Member]",
        "documentation": "Individual Employee [Member]",
        "label": "Individual Employee Member"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_InsiderTradingArrLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTradingArrLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Arrangements [Line Items]",
        "terseLabel": "Insider Trading Arrangements:"
       }
      }
     },
     "auth_ref": [
      "r894"
     ]
    },
    "ecd_InsiderTradingPoliciesProcLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTradingPoliciesProcLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures [Line Items]",
        "terseLabel": "Insider Trading Policies and Procedures:"
       }
      }
     },
     "auth_ref": [
      "r814",
      "r900"
     ]
    },
    "ecd_InsiderTrdPoliciesProcAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTrdPoliciesProcAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Adopted [Flag]",
        "terseLabel": "Insider Trading Policies and Procedures Adopted"
       }
      }
     },
     "auth_ref": [
      "r814",
      "r900"
     ]
    },
    "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]",
        "terseLabel": "Insider Trading Policies and Procedures Not Adopted"
       }
      }
     },
     "auth_ref": [
      "r814",
      "r900"
     ]
    },
    "esp_InventoriesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "InventoriesAbstract",
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventories:",
        "label": "Inventories Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryForLongTermContractsOrPrograms": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryForLongTermContractsOrPrograms",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet",
      "http://espey.com/role/ScheduleofContractsinProcessTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Costs related to contracts in process",
        "label": "Inventory for Long-Term Contracts or Programs, Gross",
        "documentation": "Amount before valuation and LIFO reserves, and progress payments, of inventory associated with long-term contracts, expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r935"
     ]
    },
    "us-gaap_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryNet",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total inventories",
        "label": "Inventory, Net",
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r151",
      "r749",
      "r783"
     ]
    },
    "us-gaap_InventoryNetAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryNetAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Contracts In Process [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryPolicyTextBlock",
     "presentation": [
      "http://espey.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventory",
        "label": "Inventory, Policy [Policy Text Block]",
        "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost."
       }
      }
     },
     "auth_ref": [
      "r116",
      "r140",
      "r149",
      "r279",
      "r280",
      "r281",
      "r553",
      "r752"
     ]
    },
    "us-gaap_InventoryRawMaterials": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryRawMaterials",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Raw materials",
        "label": "Inventory, Raw Materials, Gross",
        "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r937"
     ]
    },
    "us-gaap_InventoryWorkInProcess": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryWorkInProcess",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Work-in-process",
        "label": "Inventory, Work in Process, Gross",
        "documentation": "Amount before valuation and LIFO reserves of merchandise or goods in the production process expected to be completed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r936"
     ]
    },
    "dei_InvestmentCompanyActFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "InvestmentCompanyActFileNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment Company Act File Number"
       }
      }
     },
     "auth_ref": [
      "r838",
      "r839",
      "r840",
      "r841"
     ]
    },
    "dei_InvestmentCompanyActRegistration": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "InvestmentCompanyActRegistration",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment Company Act Registration"
       }
      }
     },
     "auth_ref": [
      "r854"
     ]
    },
    "dei_InvestmentCompanyRegistrationAmendment": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "InvestmentCompanyRegistrationAmendment",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment Company Registration Amendment"
       }
      }
     },
     "auth_ref": [
      "r854"
     ]
    },
    "dei_InvestmentCompanyRegistrationAmendmentNumber": {
     "xbrltype": "sequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "InvestmentCompanyRegistrationAmendmentNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment Company Registration Amendment Number"
       }
      }
     },
     "auth_ref": [
      "r854"
     ]
    },
    "us-gaap_InvestmentIncomeInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InvestmentIncomeInterest",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_OtherNonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Interest income",
        "label": "Investment Income, Interest",
        "documentation": "Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities."
       }
      }
     },
     "auth_ref": [
      "r207",
      "r214",
      "r218",
      "r756",
      "r942"
     ]
    },
    "us-gaap_InvestmentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InvestmentPolicyTextBlock",
     "presentation": [
      "http://espey.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Investment Securities",
        "label": "Investment, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for investment in financial asset."
       }
      }
     },
     "auth_ref": [
      "r586",
      "r604",
      "r605",
      "r606",
      "r607",
      "r693",
      "r695"
     ]
    },
    "us-gaap_InvestmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InvestmentTextBlock",
     "presentation": [
      "http://espey.com/role/InvestmentSecurities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Investment Securities",
        "label": "Investment [Text Block]",
        "documentation": "The entire disclosure for investment."
       }
      }
     },
     "auth_ref": [
      "r924",
      "r925",
      "r963"
     ]
    },
    "us-gaap_InvestmentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InvestmentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment Securities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InvestmentsClassifiedByContractualMaturityDateTableTextBlock",
     "presentation": [
      "http://espey.com/role/InvestmentSecuritiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Contractual Maturities of Available-for-Sale Debt Securities",
        "label": "Investments Classified by Contractual Maturity Date [Table Text Block]",
        "documentation": "Tabular disclosure of maturities of an entity's investments as well as any other information pertinent to the investments."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LandBuildingsAndImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LandBuildingsAndImprovementsMember",
     "presentation": [
      "http://espey.com/role/ScheduleofPropertyPlantandEquipmentTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Building and improvements [Member]",
        "label": "Land, Buildings and Improvements [Member]",
        "documentation": "Real estate held and additions or improvements to real estate held and structures used in the conduct of business."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LandMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LandMember",
     "presentation": [
      "http://espey.com/role/ScheduleofPropertyPlantandEquipmentTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Land [Member]",
        "label": "Land [Member]",
        "documentation": "Part of earth's surface not covered by water."
       }
      }
     },
     "auth_ref": [
      "r996"
     ]
    },
    "dei_LegalEntityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "LegalEntityAxis",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/AuditInformation",
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Legal Entity [Axis]",
        "documentation": "The set of legal entities associated with a report."
       }
      }
     },
     "auth_ref": []
    },
    "dei_LegalEntityIdentifier": {
     "xbrltype": "legalEntityIdentifierItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "LegalEntityIdentifier",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Legal Entity Identifier",
        "documentation": "A globally unique ISO 17442 value to identify entities, commonly abbreviated as LEI."
       }
      }
     },
     "auth_ref": [
      "r798"
     ]
    },
    "us-gaap_LettersOfCreditOutstandingAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LettersOfCreditOutstandingAmount",
     "crdr": "credit",
     "presentation": [
      "http://espey.com/role/CommitmentsandContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contingent liabilities on outstanding standby letters of credit agreements",
        "label": "Letters of Credit Outstanding, Amount",
        "documentation": "The total amount of the contingent obligation under letters of credit outstanding as of the reporting date."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Liabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Liabilities",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total liabilities",
        "label": "Liabilities",
        "documentation": "Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others."
       }
      }
     },
     "auth_ref": [
      "r14",
      "r50",
      "r51",
      "r52",
      "r55",
      "r56",
      "r57",
      "r60",
      "r175",
      "r258",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r447",
      "r448",
      "r449",
      "r485",
      "r624",
      "r754",
      "r797",
      "r992",
      "r1040",
      "r1041"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total liabilities and stockholders' 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": [
      "r67",
      "r105",
      "r576",
      "r783",
      "r944",
      "r980",
      "r1038"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "LIABILITIES AND STOCKHOLDERS' EQUITY",
        "label": "Liabilities and Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet"
     ],
     "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": [
      "r52",
      "r139",
      "r175",
      "r258",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r447",
      "r448",
      "r449",
      "r485",
      "r783",
      "r992",
      "r1040",
      "r1041"
     ]
    },
    "us-gaap_LineOfCreditFacilityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityCurrentBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://espey.com/role/LineofCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Borrowing capacity",
        "label": "Line of Credit Facility, Current Borrowing Capacity",
        "documentation": "Amount of current borrowing capacity under the credit facility considering any current restrictions on the amount that could be borrowed (for example, borrowings may be limited by the amount of current assets), but without considering any amounts currently outstanding under the facility."
       }
      }
     },
     "auth_ref": [
      "r49",
      "r54"
     ]
    },
    "esp_LineOfCreditTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "LineOfCreditTextBlock",
     "presentation": [
      "http://espey.com/role/LineofCredit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line of Credit",
        "label": "Line Of Credit Text Block"
       }
      }
     },
     "auth_ref": []
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermContractsOrProgramsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermContractsOrProgramsDisclosureTextBlock",
     "presentation": [
      "http://espey.com/role/ContractsinProcess"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contracts in Process",
        "label": "Long-Term Contracts or Programs Disclosure [Text Block]",
        "documentation": "The entire disclosure for long-term contracts or programs."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r145",
      "r146",
      "r150",
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r551",
      "r552",
      "r554",
      "r555",
      "r556"
     ]
    },
    "us-gaap_MachineryAndEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MachineryAndEquipmentMember",
     "presentation": [
      "http://espey.com/role/ScheduleofEstimatedUsefulLivesofDepreciableAssetsTable",
      "http://espey.com/role/ScheduleofPropertyPlantandEquipmentTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Machinery and equipment [Member]",
        "label": "Machinery and Equipment [Member]",
        "documentation": "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": []
    },
    "srt_MajorCustomersAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MajorCustomersAxis",
     "presentation": [
      "http://espey.com/role/ConcentrationofCreditRiskDetails",
      "http://espey.com/role/SignificantCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]"
       }
      }
     },
     "auth_ref": [
      "r221",
      "r763",
      "r785",
      "r787",
      "r995",
      "r1051",
      "r1052",
      "r1053",
      "r1054",
      "r1055",
      "r1056",
      "r1057",
      "r1058",
      "r1059",
      "r1060",
      "r1061",
      "r1062",
      "r1063",
      "r1064",
      "r1065",
      "r1066",
      "r1067",
      "r1068",
      "r1069",
      "r1070",
      "r1071",
      "r1072",
      "r1073",
      "r1074",
      "r1075",
      "r1076",
      "r1077",
      "r1078"
     ]
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MaximumMember",
     "presentation": [
      "http://espey.com/role/ScheduleofEstimatedUsefulLivesofDepreciableAssetsTable",
      "http://espey.com/role/StockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maximum [Member]",
        "label": "Maximum [Member]"
       }
      }
     },
     "auth_ref": [
      "r295",
      "r296",
      "r297",
      "r298",
      "r360",
      "r398",
      "r474",
      "r542",
      "r588",
      "r589",
      "r602",
      "r616",
      "r617",
      "r676",
      "r697",
      "r701",
      "r702",
      "r731",
      "r744",
      "r745",
      "r758",
      "r760",
      "r769",
      "r776",
      "r777",
      "r781",
      "r782",
      "r786",
      "r994",
      "r1042",
      "r1043",
      "r1044",
      "r1045",
      "r1046",
      "r1047"
     ]
    },
    "ecd_MeasureAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MeasureAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure [Axis]",
        "terseLabel": "Measure:"
       }
      }
     },
     "auth_ref": [
      "r867"
     ]
    },
    "ecd_MeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r867"
     ]
    },
    "esp_MilestonesAchievedMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "MilestonesAchievedMember",
     "presentation": [
      "http://espey.com/role/RevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Milestones Achieved [Member]",
        "documentation": "Units Delivered [Member]",
        "label": "Milestones Achieved Member"
       }
      }
     },
     "auth_ref": []
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MinimumMember",
     "presentation": [
      "http://espey.com/role/ScheduleofEstimatedUsefulLivesofDepreciableAssetsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Minimum [Member]",
        "label": "Minimum [Member]"
       }
      }
     },
     "auth_ref": [
      "r295",
      "r296",
      "r297",
      "r298",
      "r360",
      "r398",
      "r474",
      "r542",
      "r588",
      "r589",
      "r602",
      "r616",
      "r617",
      "r676",
      "r697",
      "r701",
      "r702",
      "r731",
      "r744",
      "r745",
      "r758",
      "r760",
      "r769",
      "r776",
      "r777",
      "r781",
      "r786",
      "r994",
      "r1042",
      "r1043",
      "r1044",
      "r1045",
      "r1046",
      "r1047"
     ]
    },
    "ecd_MnpiDiscTimedForCompValFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MnpiDiscTimedForCompValFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "MNPI Disclosure Timed for Compensation Value [Flag]",
        "terseLabel": "MNPI Disclosure Timed for Compensation Value"
       }
      }
     },
     "auth_ref": [
      "r887"
     ]
    },
    "ecd_MtrlTermsOfTrdArrTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MtrlTermsOfTrdArrTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Terms of Trading Arrangement [Text Block]",
        "terseLabel": "Material Terms of Trading Arrangement"
       }
      }
     },
     "auth_ref": [
      "r895"
     ]
    },
    "us-gaap_MultiemployerPlanPensionSignificantPlanContribution": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MultiemployerPlanPensionSignificantPlanContribution",
     "crdr": "debit",
     "presentation": [
      "http://espey.com/role/PensionExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Expenses contributions",
        "label": "Multiemployer Plan, Pension, Significant, Plan Contribution",
        "documentation": "Amount of contribution received by multiemployer pension plan from all employers participating in multiemployer pension plan determined to be individually significant."
       }
      }
     },
     "auth_ref": [
      "r362",
      "r769"
     ]
    },
    "us-gaap_MultiemployerPlansWithdrawalObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MultiemployerPlansWithdrawalObligation",
     "crdr": "credit",
     "presentation": [
      "http://espey.com/role/PensionExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Withdrawal obligation",
        "label": "Multiemployer Plans, Withdrawal Obligation",
        "documentation": "Amount of the obligation recognized by withdrawing from a pension or postretirement benefit plan to which two or more unrelated employers contribute where assets contributed by one participating employer may be used to provide benefits to employees of other participating employers."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MunicipalBondsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MunicipalBondsMember",
     "presentation": [
      "http://espey.com/role/ScheduleofClassifiesInvestmentSecuritiesasAvailableforSaleTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Municipal bonds [Member]",
        "label": "Municipal Bonds [Member]",
        "documentation": "Long-term debt securities issued by state, city or local governments or the agencies operated by state, city or local governments."
       }
      }
     },
     "auth_ref": []
    },
    "dei_NameChangeEventDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "NameChangeEventDateAxis",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Name Change Event Date [Axis]",
        "documentation": "For a sequence of name change event related facts, use this typed dimension to distinguish them. The axis members are restricted to be a valid for xml schema 'date' or 'datetime' data type."
       }
      }
     },
     "auth_ref": []
    },
    "dei_NameChangeEventLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "NameChangeEventLineItems",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Name Change Event [Line Items]",
        "documentation": "Line items represent concepts included in a table. Name change event line item concepts are used for information qualified by domain members of axes in the Name Change Event table."
       }
      }
     },
     "auth_ref": []
    },
    "dei_NameChangeEventTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "NameChangeEventTable",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Name Change Event [Table]",
        "documentation": "For a set of related facts in a sequence of name change events, use this table when the events occurred within a single reporting period."
       }
      }
     },
     "auth_ref": []
    },
    "srt_NameOfMajorCustomerDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "NameOfMajorCustomerDomain",
     "presentation": [
      "http://espey.com/role/SignificantCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Domain]"
       }
      }
     },
     "auth_ref": [
      "r221",
      "r763",
      "r785",
      "r787",
      "r995",
      "r1051",
      "r1052",
      "r1053",
      "r1054",
      "r1055",
      "r1056",
      "r1057",
      "r1058",
      "r1059",
      "r1060",
      "r1061",
      "r1062",
      "r1063",
      "r1064",
      "r1065",
      "r1066",
      "r1067",
      "r1068",
      "r1069",
      "r1070",
      "r1071",
      "r1072",
      "r1073",
      "r1074",
      "r1075",
      "r1076",
      "r1077",
      "r1078"
     ]
    },
    "ecd_NamedExecutiveOfficersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NamedExecutiveOfficersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Named Executive Officers, Footnote [Text Block]",
        "terseLabel": "Named Executive Officers, Footnote"
       }
      }
     },
     "auth_ref": [
      "r868"
     ]
    },
    "us-gaap_NatureOfOperations": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NatureOfOperations",
     "presentation": [
      "http://espey.com/role/NatureofOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Nature of Operations",
        "label": "Nature of Operations [Text Block]",
        "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward."
       }
      }
     },
     "auth_ref": [
      "r118",
      "r129"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash 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": [
      "r170"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash Flows from Financing Activities:",
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash 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": [
      "r170"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash Flows from Investing Activities:",
        "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://espey.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow"
     ],
     "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": [
      "r80",
      "r81",
      "r82"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash Flows from Operating Activities:",
        "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 1.0
      },
      "http://espey.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow",
      "http://espey.com/role/ConsolidatedIncomeStatement",
      "http://espey.com/role/ScheduleofQuarterlyFinancialInformationDetailsScheduleofQuarterlyFinancialInformation",
      "http://espey.com/role/ScheduleofReconciliationoftheNumeratorsandDenominatorsoftheBasicandDilutedEarningsPerShareComputationsTable",
      "http://espey.com/role/ShareholdersEquityType2or3",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net income",
        "verboseLabel": "Net income",
        "netLabel": "Net income (in Dollars)",
        "label": "Net Income (Loss)",
        "terseLabel": "Net Income (Loss)",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r73",
      "r82",
      "r107",
      "r137",
      "r156",
      "r158",
      "r163",
      "r175",
      "r180",
      "r184",
      "r185",
      "r186",
      "r187",
      "r188",
      "r191",
      "r192",
      "r200",
      "r258",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r436",
      "r445",
      "r473",
      "r485",
      "r580",
      "r646",
      "r664",
      "r665",
      "r796",
      "r992"
     ]
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://espey.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Recent Accounting Pronouncements Not Yet Adopted",
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]",
        "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": []
    },
    "dei_NewEffectiveDateForPreviousFiling": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "NewEffectiveDateForPreviousFiling",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "New Effective Date for Previous Filing"
       }
      }
     },
     "auth_ref": [
      "r838",
      "r839",
      "r840",
      "r841"
     ]
    },
    "dei_NoSubstantiveChanges462c": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "NoSubstantiveChanges462c",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "No Substantive Changes, 462(c)"
       }
      }
     },
     "auth_ref": [
      "r912"
     ]
    },
    "dei_NoSubstantiveChanges462cFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "NoSubstantiveChanges462cFileNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "No Substantive Changes, 462(c), File Number"
       }
      }
     },
     "auth_ref": [
      "r912"
     ]
    },
    "dei_NoTradingSymbolFlag": {
     "xbrltype": "trueItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "NoTradingSymbolFlag",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "No Trading Symbol Flag",
        "documentation": "Boolean flag that is true only for a security having no trading symbol."
       }
      }
     },
     "auth_ref": []
    },
    "esp_NonEmployeeDirectorsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "NonEmployeeDirectorsMember",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-Employee Directors [Member]",
        "documentation": "Non employee directors [Member]",
        "label": "Non Employee Directors Member"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonGaapMeasureDescriptionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonGaapMeasureDescriptionTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-GAAP Measure Description [Text Block]",
        "terseLabel": "Non-GAAP Measure Description"
       }
      }
     },
     "auth_ref": [
      "r867"
     ]
    },
    "ecd_NonNeosMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonNeosMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-NEOs [Member]",
        "terseLabel": "Non-NEOs"
       }
      }
     },
     "auth_ref": [
      "r822",
      "r833",
      "r849",
      "r875",
      "r884"
     ]
    },
    "ecd_NonPeoNeoAvgCompActuallyPaidAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonPeoNeoAvgCompActuallyPaidAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Compensation Actually Paid Amount",
        "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount"
       }
      }
     },
     "auth_ref": [
      "r858"
     ]
    },
    "ecd_NonPeoNeoAvgTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonPeoNeoAvgTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Total Compensation Amount",
        "terseLabel": "Non-PEO NEO Average Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r857"
     ]
    },
    "ecd_NonPeoNeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonPeoNeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO [Member]",
        "terseLabel": "Non-PEO NEO"
       }
      }
     },
     "auth_ref": [
      "r875"
     ]
    },
    "esp_NonQualifiedStockOptionsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "NonQualifiedStockOptionsMember",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-qualified Stock Options [Member]",
        "documentation": "Non-qualified stock options [Member]",
        "label": "Non Qualified Stock Options Member"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonRule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonRule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]",
        "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r895"
     ]
    },
    "ecd_NonRule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonRule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]",
        "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r895"
     ]
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedIncomeStatement": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Operating income",
        "label": "Operating Income (Loss)",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r110",
      "r755",
      "r953",
      "r954",
      "r955",
      "r956",
      "r957"
     ]
    },
    "us-gaap_OrderOrProductionBacklogMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OrderOrProductionBacklogMember",
     "presentation": [
      "http://espey.com/role/RevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Order or Production Backlog [Member]",
        "label": "Order or Production Backlog [Member]",
        "documentation": "Order or production backlog arising from contract acquired in business combination, asset acquisition, and from joint venture formation."
       }
      }
     },
     "auth_ref": [
      "r44",
      "r981",
      "r982",
      "r983",
      "r984",
      "r985",
      "r986",
      "r987",
      "r988"
     ]
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Nature of Operations [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_OtherAddressMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "OtherAddressMember",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Address [Member]",
        "documentation": "Other address for entity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax",
     "crdr": "credit",
     "presentation": [
      "http://espey.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other comprehensive income, net of tax",
        "label": "Other Comprehensive Income (Loss), Defined Benefit Plan, Gain (Loss) Arising During Period, after Tax",
        "documentation": "Amount, after tax, of gain (loss) for (increase) decrease in value of benefit obligation for change in actuarial assumptions and increase (decrease) in value of plan assets from experience different from that assumed of defined benefit plan, that has not been recognized in net periodic benefit (cost) credit."
       }
      }
     },
     "auth_ref": [
      "r68",
      "r69",
      "r350"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract",
     "presentation": [
      "http://espey.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other comprehensive income, net of tax:",
        "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unrealized gain (loss) on investment securities",
        "label": "OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax",
        "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": [
      "r153",
      "r155",
      "r257"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax",
     "crdr": "debit",
     "presentation": [
      "http://espey.com/role/ShareholdersEquityType2or3_Parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other comprehensive income, net of tax",
        "label": "OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, Tax",
        "documentation": "Amount, before adjustment, of tax expense (benefit) for 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 tax expense (benefit) for unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r154"
     ]
    },
    "us-gaap_OtherEmployeeRelatedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherEmployeeRelatedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other",
        "label": "Other Employee-related Liabilities, Current",
        "documentation": "Amount of obligations incurred for employer-related costs classified as other, payable within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r51"
     ]
    },
    "us-gaap_OtherIncomeAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherIncomeAbstract",
     "presentation": [
      "http://espey.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other income",
        "label": "Component of Operating Income [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://espey.com/role/PensionExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Remaining liability",
        "label": "Other Liabilities",
        "documentation": "Amount of liabilities classified as other."
       }
      }
     },
     "auth_ref": [
      "r103",
      "r571",
      "r620",
      "r621",
      "r797",
      "r1050",
      "r1080"
     ]
    },
    "us-gaap_OtherNonoperatingIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherNonoperatingIncome",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_OtherNonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other",
        "label": "Other Nonoperating Income",
        "documentation": "Amount of income related to nonoperating activities, classified as other."
       }
      }
     },
     "auth_ref": [
      "r167"
     ]
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherNonoperatingIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedIncomeStatement": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total other income",
        "label": "Other Nonoperating Income (Expense)",
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other."
       }
      }
     },
     "auth_ref": [
      "r75"
     ]
    },
    "ecd_OtherPerfMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OtherPerfMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Performance Measure, Amount",
        "terseLabel": "Other Performance Measure, Amount"
       }
      }
     },
     "auth_ref": [
      "r867"
     ]
    },
    "dei_OtherReportingStandardItemNumber": {
     "xbrltype": "otherReportingStandardItemNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "OtherReportingStandardItemNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Reporting Standard Item Number",
        "documentation": "\"Item 17\" or \"Item 18\" specified when the basis of accounting is neither US GAAP nor IFRS."
       }
      }
     },
     "auth_ref": [
      "r813"
     ]
    },
    "ecd_OutstandingAggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OutstandingAggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Aggregate Erroneous Compensation Amount",
        "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r820",
      "r831",
      "r847",
      "r882"
     ]
    },
    "ecd_OutstandingRecoveryCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OutstandingRecoveryCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Recovery Compensation Amount",
        "terseLabel": "Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r823",
      "r834",
      "r850",
      "r885"
     ]
    },
    "ecd_OutstandingRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OutstandingRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Recovery, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r823",
      "r834",
      "r850",
      "r885"
     ]
    },
    "dei_ParentEntityLegalName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "ParentEntityLegalName",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Parent Entity Legal Name",
        "documentation": "If the entity which the financial information concerns is a subsidiary of another company, then provide to full legal name of the parent entity"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_PayVsPerformanceDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PayVsPerformanceDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Line Items]",
        "terseLabel": "Pay vs Performance Disclosure"
       }
      }
     },
     "auth_ref": [
      "r856"
     ]
    },
    "us-gaap_PaymentsOfDividendsCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsOfDividendsCommonStock",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Dividends paid on common stock",
        "label": "Payments of Ordinary Dividends, Common Stock",
        "documentation": "Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity."
       }
      }
     },
     "auth_ref": [
      "r79"
     ]
    },
    "us-gaap_PaymentsToAcquireInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToAcquireInvestments",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchase of investment securities",
        "label": "Payments to Acquire Investments",
        "documentation": "The cash outflow associated with the purchase of all investments (debt, security, other) during the period."
       }
      }
     },
     "auth_ref": [
      "r77"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Additions to property, plant 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": [
      "r78"
     ]
    },
    "ecd_PeerGroupIssuersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeerGroupIssuersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Issuers, Footnote [Text Block]",
        "terseLabel": "Peer Group Issuers, Footnote"
       }
      }
     },
     "auth_ref": [
      "r866"
     ]
    },
    "ecd_PeerGroupTotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeerGroupTotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Total Shareholder Return Amount",
        "terseLabel": "Peer Group Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r866"
     ]
    },
    "us-gaap_PensionAndOtherPostretirementBenefitExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PensionAndOtherPostretirementBenefitExpense",
     "crdr": "debit",
     "presentation": [
      "http://espey.com/role/PensionExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Defined benefit contributions and expenses",
        "label": "Pension and Other Postretirement Benefits Cost (Reversal of Cost)",
        "documentation": "Amount of cost (reversal of cost) for pension and other postretirement benefits."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
     "presentation": [
      "http://espey.com/role/PensionExpense"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Pension Expense",
        "label": "Retirement Benefits [Text Block]",
        "documentation": "The entire disclosure for retirement benefits."
       }
      }
     },
     "auth_ref": [
      "r346",
      "r347",
      "r348",
      "r349",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r768"
     ]
    },
    "us-gaap_PensionContributions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PensionContributions",
     "crdr": "credit",
     "presentation": [
      "http://espey.com/role/PensionExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contribution payment",
        "label": "Payment for Pension Benefits",
        "documentation": "Amount of cash outflow for pension benefit. Includes, but is not limited to, employer contribution to fund plan asset and payment to retiree. Excludes other postretirement benefit."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "esp_PensionExpenseDetailsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "PensionExpenseDetailsTable",
     "presentation": [
      "http://espey.com/role/PensionExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Expense (Details) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_PeoActuallyPaidCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoActuallyPaidCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Actually Paid Compensation Amount",
        "terseLabel": "PEO Actually Paid Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r858"
     ]
    },
    "ecd_PeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO [Member]",
        "terseLabel": "PEO"
       }
      }
     },
     "auth_ref": [
      "r875"
     ]
    },
    "ecd_PeoName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Name",
        "terseLabel": "PEO Name"
       }
      }
     },
     "auth_ref": [
      "r868"
     ]
    },
    "ecd_PeoTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Total Compensation Amount",
        "terseLabel": "PEO Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r857"
     ]
    },
    "esp_PercentageOfTotalNumberOfSharesSubjectToOptionsOrAwardsSingleFiscalYear": {
     "xbrltype": "stringItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "PercentageOfTotalNumberOfSharesSubjectToOptionsOrAwardsSingleFiscalYear",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Percentage of total number of shares subject to options or awards, single fiscal year",
        "documentation": "Percentage of total number of shares subject to options or awards, single fiscal year.",
        "label": "Percentage Of Total Number Of Shares Subject To Options Or Awards Single Fiscal Year"
       }
      }
     },
     "auth_ref": []
    },
    "dei_PhoneFaxNumberDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "PhoneFaxNumberDescription",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Phone Fax Number Description",
        "documentation": "Description of Phone or Fax Number"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PlanNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PlanNameAxis",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Axis]",
        "documentation": "Information by plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r997",
      "r998",
      "r999",
      "r1000",
      "r1001",
      "r1002",
      "r1003",
      "r1004",
      "r1005",
      "r1006",
      "r1007",
      "r1008",
      "r1009",
      "r1010",
      "r1011",
      "r1012",
      "r1013",
      "r1014",
      "r1015",
      "r1016",
      "r1017",
      "r1018",
      "r1019",
      "r1020",
      "r1021",
      "r1022"
     ]
    },
    "us-gaap_PlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PlanNameDomain",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Domain]",
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r997",
      "r998",
      "r999",
      "r1000",
      "r1001",
      "r1002",
      "r1003",
      "r1004",
      "r1005",
      "r1006",
      "r1007",
      "r1008",
      "r1009",
      "r1010",
      "r1011",
      "r1012",
      "r1013",
      "r1014",
      "r1015",
      "r1016",
      "r1017",
      "r1018",
      "r1019",
      "r1020",
      "r1021",
      "r1022"
     ]
    },
    "ecd_PnsnAdjsPrrSvcCstMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PnsnAdjsPrrSvcCstMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Adjustments Prior Service Cost [Member]",
        "terseLabel": "Pension Adjustments Prior Service Cost"
       }
      }
     },
     "auth_ref": [
      "r859"
     ]
    },
    "ecd_PnsnAdjsSvcCstMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PnsnAdjsSvcCstMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Adjustments Service Cost [Member]",
        "terseLabel": "Pension Adjustments Service Cost"
       }
      }
     },
     "auth_ref": [
      "r904"
     ]
    },
    "ecd_PnsnBnftsAdjFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PnsnBnftsAdjFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Benefits Adjustments, Footnote [Text Block]",
        "terseLabel": "Pension Benefits Adjustments, Footnote"
       }
      }
     },
     "auth_ref": [
      "r858"
     ]
    },
    "dei_PostEffectiveAmendment": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "PostEffectiveAmendment",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Post-Effective Amendment"
       }
      }
     },
     "auth_ref": [
      "r799"
     ]
    },
    "dei_PostEffectiveAmendmentNumber": {
     "xbrltype": "sequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "PostEffectiveAmendmentNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Post-Effective Amendment Number",
        "documentation": "Amendment number to registration statement under the Securities Act of 1933 after the registration becomes effective."
       }
      }
     },
     "auth_ref": [
      "r799"
     ]
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "PreCommencementIssuerTenderOffer",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-commencement Issuer Tender Offer",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r806"
     ]
    },
    "dei_PreCommencementTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "PreCommencementTenderOffer",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-commencement Tender Offer",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r808"
     ]
    },
    "dei_PreEffectiveAmendment": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "PreEffectiveAmendment",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-Effective Amendment"
       }
      }
     },
     "auth_ref": [
      "r799"
     ]
    },
    "dei_PreEffectiveAmendmentNumber": {
     "xbrltype": "sequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "PreEffectiveAmendmentNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-Effective Amendment Number",
        "documentation": "Amendment number to registration statement under the Securities Act of 1933 before the registration becomes effective."
       }
      }
     },
     "auth_ref": [
      "r799"
     ]
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Prepaid expenses and other current assets",
        "label": "Prepaid Expense and Other Assets, Current",
        "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": [
      "r938"
     ]
    },
    "esp_ProceedsFromGrantAward": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "ProceedsFromGrantAward",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from grant award",
        "documentation": "Proceeds from grant award.\r     \n.",
        "label": "Proceeds From Grant Award"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromRepurchaseOfEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromRepurchaseOfEquity",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from exercise of stock options",
        "label": "Proceeds from (Repurchase of) Equity",
        "documentation": "The net cash inflow or outflow resulting from the entity's share transaction."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from sale/maturity of investment securities",
        "label": "Proceeds from Sale and Maturity of Debt Securities, Available-for-Sale",
        "documentation": "Amount of cash inflow from sale, maturity, prepayment and call of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r168",
      "r169",
      "r964"
     ]
    },
    "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from sale of property, plant and equipment",
        "label": "Proceeds from Sale of Property, Plant, and Equipment",
        "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r76"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "presentation": [
      "http://espey.com/role/ScheduleofEstimatedUsefulLivesofDepreciableAssetsTable",
      "http://espey.com/role/ScheduleofPropertyPlantandEquipmentTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Tangible Asset [Axis]",
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r497"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "presentation": [
      "http://espey.com/role/PropertyPlantandEquipment"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property, Plant and Equipment",
        "label": "Property, Plant and Equipment Disclosure [Text Block]",
        "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r88",
      "r122",
      "r125",
      "r126"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentGross",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ScheduleofPropertyPlantandEquipmentTable": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://espey.com/role/ScheduleofPropertyPlantandEquipmentTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property, plant and equipment, gross",
        "label": "Property, Plant 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": [
      "r90",
      "r142",
      "r578"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentLineItems",
     "presentation": [
      "http://espey.com/role/PropertyPlantandEquipmentDetails",
      "http://espey.com/role/ScheduleofEstimatedUsefulLivesofDepreciableAssetsTable",
      "http://espey.com/role/ScheduleofPropertyPlantandEquipmentTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Estimated Useful Lives of Depreciable Assets [Line Items]",
        "terseLabel": "Schedule of Property, Plant and Equipment [Line Items]",
        "verboseLabel": "Property, Plant and Equipment [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": [
      "r497"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentMember",
     "presentation": [
      "http://espey.com/role/PropertyPlantandEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property, Plant and Equipment [Member]",
        "label": "Property, Plant and Equipment [Member]",
        "documentation": "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": []
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      },
      "http://espey.com/role/ScheduleofPropertyPlantandEquipmentTable": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet",
      "http://espey.com/role/ScheduleofPropertyPlantandEquipmentTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Property, plant and equipment, net",
        "terseLabel": "Property, plant and equipment, net",
        "label": "Property, Plant 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": [
      "r7",
      "r497",
      "r568",
      "r578",
      "r783"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentOtherNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentOtherNet",
     "crdr": "debit",
     "presentation": [
      "http://espey.com/role/PropertyPlantandEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property, plant, and equipment",
        "label": "Property, Plant and Equipment, Other, Net",
        "documentation": "Amount after depreciation of long-lived, physical assets used to produce goods and services and not intended for resale, classified as other."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "presentation": [
      "http://espey.com/role/PropertyPlantandEquipmentTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Property, Plant and Equipment",
        "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": [
      "r7"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "presentation": [
      "http://espey.com/role/ScheduleofPropertyPlantandEquipmentTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Tangible Asset [Domain]",
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software."
       }
      }
     },
     "auth_ref": [
      "r90",
      "r497"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "presentation": [
      "http://espey.com/role/ScheduleofEstimatedUsefulLivesofDepreciableAssetsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Estimated useful lives of depreciable assets",
        "label": "Property, Plant and Equipment, Useful Life",
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment."
       }
      }
     },
     "auth_ref": []
    },
    "esp_PropertyPlantandEquipmentDetailsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "PropertyPlantandEquipmentDetailsTable",
     "presentation": [
      "http://espey.com/role/PropertyPlantandEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment (Details) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "esp_ProvisionforIncomeTaxesDetailsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "ProvisionforIncomeTaxesDetailsTable",
     "presentation": [
      "http://espey.com/role/ProvisionforIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Provision for Income Taxes (Details) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_PvpTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PvpTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Table]",
        "terseLabel": "Pay vs Performance Disclosure"
       }
      }
     },
     "auth_ref": [
      "r856"
     ]
    },
    "ecd_PvpTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PvpTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance [Table Text Block]",
        "terseLabel": "Pay vs Performance Disclosure, Table"
       }
      }
     },
     "auth_ref": [
      "r856"
     ]
    },
    "us-gaap_QuarterlyFinancialInformationDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "QuarterlyFinancialInformationDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Quarterly Financial Information (Unaudited) [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_QuarterlyFinancialInformationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "QuarterlyFinancialInformationTextBlock",
     "presentation": [
      "http://espey.com/role/QuarterlyFinancialInformationUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Quarterly Financial Information (Unaudited)",
        "label": "Quarterly Financial Information [Text Block]",
        "documentation": "The entire disclosure for quarterly financial data. Includes, but is not limited to, tabular presentation of financial information for fiscal quarters, effect of year-end adjustments, and an explanation of matters or transactions that affect comparability of the information."
       }
      }
     },
     "auth_ref": [
      "r84",
      "r208"
     ]
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RangeAxis",
     "presentation": [
      "http://espey.com/role/ScheduleofEstimatedUsefulLivesofDepreciableAssetsTable",
      "http://espey.com/role/StockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "auth_ref": [
      "r295",
      "r296",
      "r297",
      "r298",
      "r347",
      "r360",
      "r388",
      "r389",
      "r390",
      "r398",
      "r474",
      "r517",
      "r526",
      "r542",
      "r588",
      "r589",
      "r602",
      "r616",
      "r617",
      "r676",
      "r697",
      "r701",
      "r702",
      "r731",
      "r744",
      "r745",
      "r758",
      "r760",
      "r769",
      "r776",
      "r777",
      "r781",
      "r782",
      "r786",
      "r790",
      "r990",
      "r994",
      "r1034",
      "r1043",
      "r1044",
      "r1045",
      "r1046",
      "r1047"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RangeMember",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Domain]"
       }
      }
     },
     "auth_ref": [
      "r295",
      "r296",
      "r297",
      "r298",
      "r347",
      "r360",
      "r388",
      "r389",
      "r390",
      "r398",
      "r474",
      "r517",
      "r526",
      "r542",
      "r588",
      "r589",
      "r602",
      "r616",
      "r617",
      "r676",
      "r697",
      "r701",
      "r702",
      "r731",
      "r744",
      "r745",
      "r758",
      "r760",
      "r769",
      "r776",
      "r777",
      "r781",
      "r782",
      "r786",
      "r790",
      "r990",
      "r994",
      "r1034",
      "r1043",
      "r1044",
      "r1045",
      "r1046",
      "r1047"
     ]
    },
    "esp_RecentlyAdoptedAccountingStandardsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "RecentlyAdoptedAccountingStandardsPolicyTextBlock",
     "presentation": [
      "http://espey.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Recently Adopted Accounting Standards",
        "documentation": "Disclosure of accounting policy for recently adopted accounting standards.",
        "label": "Recently Adopted Accounting Standards Policy Text Block"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_RecoveryOfErrCompDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RecoveryOfErrCompDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]",
        "terseLabel": "Recovery of Erroneously Awarded Compensation Disclosure"
       }
      }
     },
     "auth_ref": [
      "r815",
      "r826",
      "r842",
      "r877"
     ]
    },
    "dei_RegistrationStatementAmendmentNumber": {
     "xbrltype": "sequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "RegistrationStatementAmendmentNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Registration Statement Amendment Number",
        "documentation": "Amendment number to registration statement under the Investment Company Act of 1940."
       }
      }
     },
     "auth_ref": [
      "r799"
     ]
    },
    "us-gaap_RelatedPartyTransactionsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RelatedPartyTransactionsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Parties [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RelatedPartyTransactionsDisclosureTextBlock",
     "presentation": [
      "http://espey.com/role/RelatedParties"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Related Parties",
        "label": "Related Party Transactions Disclosure [Text Block]",
        "documentation": "The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates."
       }
      }
     },
     "auth_ref": [
      "r505",
      "r506",
      "r507",
      "r508",
      "r509",
      "r611",
      "r612",
      "r613",
      "r649",
      "r650",
      "r651",
      "r670",
      "r672"
     ]
    },
    "ecd_RestatementDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RestatementDateAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date [Axis]",
        "terseLabel": "Restatement Determination Date:"
       }
      }
     },
     "auth_ref": [
      "r816",
      "r827",
      "r843",
      "r878"
     ]
    },
    "ecd_RestatementDeterminationDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RestatementDeterminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date",
        "terseLabel": "Restatement Determination Date"
       }
      }
     },
     "auth_ref": [
      "r817",
      "r828",
      "r844",
      "r879"
     ]
    },
    "ecd_RestatementDoesNotRequireRecoveryTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RestatementDoesNotRequireRecoveryTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Does Not Require Recovery [Text Block]",
        "terseLabel": "Restatement does not require Recovery"
       }
      }
     },
     "auth_ref": [
      "r824",
      "r835",
      "r851",
      "r886"
     ]
    },
    "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember",
     "presentation": [
      "http://espey.com/role/ProvisionforIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents [Domain]",
        "documentation": "Type of cash and cash equivalent. Cash is 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."
       }
      }
     },
     "auth_ref": [
      "r141"
     ]
    },
    "esp_RestrictedStockPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "RestrictedStockPlanMember",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted Stock Plan [Member]",
        "label": "Restricted Stock Plan Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "esp_TotalStockholdersEquityBeforyEsopAndTreasuryStock",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Retained earnings",
        "label": "Retained Earnings (Accumulated Deficit)",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r64",
      "r94",
      "r575",
      "r596",
      "r601",
      "r609",
      "r627",
      "r783"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://espey.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Retained Earnings",
        "label": "Retained Earnings [Member]",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r133",
      "r177",
      "r178",
      "r179",
      "r181",
      "r188",
      "r190",
      "r192",
      "r262",
      "r268",
      "r291",
      "r418",
      "r419",
      "r432",
      "r433",
      "r434",
      "r437",
      "r444",
      "r445",
      "r453",
      "r456",
      "r457",
      "r460",
      "r471",
      "r494",
      "r496",
      "r592",
      "r594",
      "r614",
      "r1081"
     ]
    },
    "esp_RevenueDetailsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "RevenueDetailsTable",
     "presentation": [
      "http://espey.com/role/RevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue (Details) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerIncludingAssessedTax",
     "crdr": "credit",
     "presentation": [
      "http://espey.com/role/RevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue recognized contract liabilities",
        "label": "Revenue from Contract with Customer, Including Assessed Tax",
        "documentation": "Amount, including 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": [
      "r108",
      "r109",
      "r207",
      "r212",
      "r213",
      "r216",
      "r218",
      "r219",
      "r220",
      "r221",
      "r342",
      "r343",
      "r557"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerPolicyTextBlock",
     "presentation": [
      "http://espey.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue",
        "label": "Revenue from Contract with Customer [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for revenue from contract with customer."
       }
      }
     },
     "auth_ref": [
      "r130",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r747"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "presentation": [
      "http://espey.com/role/Revenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "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": [
      "r130",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r345"
     ]
    },
    "us-gaap_Revenues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Revenues",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedIncomeStatement",
      "http://espey.com/role/RevenueDetails",
      "http://espey.com/role/ScheduleofQuarterlyFinancialInformationDetailsScheduleofQuarterlyFinancialInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net sales",
        "verboseLabel": "Revenues",
        "netLabel": "Revenue",
        "label": "Revenues",
        "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss)."
       }
      }
     },
     "auth_ref": [
      "r108",
      "r109",
      "r164",
      "r175",
      "r207",
      "r212",
      "r213",
      "r216",
      "r218",
      "r219",
      "r220",
      "r221",
      "r258",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r485",
      "r565",
      "r756",
      "r992"
     ]
    },
    "us-gaap_RevenuesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenuesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RisksAndUncertaintiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RisksAndUncertaintiesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration of Credit Risk [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_Rule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "Rule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Adopted [Flag]",
        "terseLabel": "Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r895"
     ]
    },
    "ecd_Rule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "Rule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Terminated [Flag]",
        "terseLabel": "Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r895"
     ]
    },
    "us-gaap_SalesRevenueNetMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SalesRevenueNetMember",
     "presentation": [
      "http://espey.com/role/SignificantCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue Benchmark [Member]",
        "label": "Revenue Benchmark [Member]",
        "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation."
       }
      }
     },
     "auth_ref": [
      "r221",
      "r921"
     ]
    },
    "us-gaap_SalesTypeLeaseRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SalesTypeLeaseRevenue",
     "crdr": "credit",
     "presentation": [
      "http://espey.com/role/SignificantCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Sale export shipments amount (in Dollars)",
        "label": "Sales-type Lease, Revenue",
        "documentation": "Amount of sales-type lease revenue."
       }
      }
     },
     "auth_ref": [
      "r209",
      "r498"
     ]
    },
    "srt_ScenarioUnspecifiedDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ScenarioUnspecifiedDomain",
     "presentation": [
      "http://espey.com/role/RevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Scenario [Domain]"
       }
      }
     },
     "auth_ref": [
      "r193",
      "r361",
      "r919",
      "r950"
     ]
    },
    "esp_ScheduleOfClassifiesInvestmentSecuritiesAsAvailableForSaleAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "ScheduleOfClassifiesInvestmentSecuritiesAsAvailableForSaleAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Classifies Investment Securities As Available For Sale Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "presentation": [
      "http://espey.com/role/ProvisionforIncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Components of the Provision for Income Taxes",
        "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]",
        "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years."
       }
      }
     },
     "auth_ref": [
      "r1029"
     ]
    },
    "esp_ScheduleOfContractsInProcessTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "ScheduleOfContractsInProcessTableTextBlock",
     "presentation": [
      "http://espey.com/role/ContractsinProcessTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Contracts in Process",
        "documentation": "Schedule of contracts in process.",
        "label": "Schedule Of Contracts In Process Table Text Block"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "presentation": [
      "http://espey.com/role/ProvisionforIncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Deferred Tax Assets and Liabilities",
        "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]",
        "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r1027"
     ]
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://espey.com/role/StockholdersEquityTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Reconciliation of the Numerators and Denominators of the Basic and Diluted Earnings Per Share Computations",
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "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": [
      "r952"
     ]
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "presentation": [
      "http://espey.com/role/ProvisionforIncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Effective Income Tax Rates",
        "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]",
        "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r404",
      "r772",
      "r1024"
     ]
    },
    "us-gaap_ScheduleOfEmployeeStockOwnershipPlanESOPDisclosuresTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEmployeeStockOwnershipPlanESOPDisclosuresTextBlock",
     "presentation": [
      "http://espey.com/role/EmployeeStockOwnershipPlanTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of ESOP Shares",
        "label": "Employee Stock Ownership Plan (ESOP) Disclosures [Table Text Block]",
        "documentation": "Tabular disclosure of the details pertaining to each employee stock ownership plan."
       }
      }
     },
     "auth_ref": [
      "r40"
     ]
    },
    "esp_ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Estimated Useful Lives Of Depreciable Assets Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "esp_ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock",
     "presentation": [
      "http://espey.com/role/SummaryofSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Estimated Useful Lives of Depreciable Assets",
        "documentation": "Tabular disclosure of estimated useful lives of depreciable assets.",
        "label": "Schedule Of Estimated Useful Lives Of Depreciable Assets Table Text Block"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfInvestmentsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfInvestmentsLineItems",
     "presentation": [
      "http://espey.com/role/ScheduleofClassifiesInvestmentSecuritiesasAvailableforSaleTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Classifies Investment Securities as Available-for-Sale [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": [
      "r673",
      "r674",
      "r675",
      "r676",
      "r677",
      "r678",
      "r679",
      "r680",
      "r681",
      "r682",
      "r683",
      "r684",
      "r685",
      "r686",
      "r687",
      "r688",
      "r689",
      "r690",
      "r691",
      "r692",
      "r694",
      "r696",
      "r698",
      "r699",
      "r700",
      "r701",
      "r702",
      "r703",
      "r704",
      "r705",
      "r706",
      "r707",
      "r708",
      "r709",
      "r710",
      "r711",
      "r712",
      "r713",
      "r714",
      "r715",
      "r716",
      "r717",
      "r718",
      "r719",
      "r720",
      "r721",
      "r722",
      "r723",
      "r724",
      "r725",
      "r726",
      "r727",
      "r728",
      "r729",
      "r730",
      "r731",
      "r732",
      "r733",
      "r734",
      "r735",
      "r736",
      "r737",
      "r738",
      "r739",
      "r740"
     ]
    },
    "us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfNonvestedShareActivityTableTextBlock",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Changes in Non-Vested Stock Options",
        "label": "Schedule of Nonvested Share Activity [Table Text Block]",
        "documentation": "Tabular disclosure of the changes in outstanding nonvested shares."
       }
      }
     },
     "auth_ref": [
      "r96"
     ]
    },
    "esp_ScheduleOfPropertyPlantAndEquipmentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "ScheduleOfPropertyPlantAndEquipmentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Property Plant And Equipment Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "presentation": [
      "http://espey.com/role/ScheduleofPropertyPlantandEquipmentTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Table]",
        "documentation": "Disclosure of information about 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": [
      "r7",
      "r497"
     ]
    },
    "us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfQuarterlyFinancialInformationTableTextBlock",
     "presentation": [
      "http://espey.com/role/QuarterlyFinancialInformationUnauditedTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Quarterly Financial Information",
        "label": "Quarterly Financial Information [Table Text Block]",
        "documentation": "Tabular disclosure of quarterly financial data. Includes, but is not limited to, financial information for fiscal quarters, cumulative effect of a change in accounting principle and earnings per share data."
       }
      }
     },
     "auth_ref": [
      "r117"
     ]
    },
    "esp_ScheduleOfReservedCommonSharesForFutureIssuanceAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "ScheduleOfReservedCommonSharesForFutureIssuanceAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Reserved Common Shares For Future Issuance Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "esp_ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock",
     "presentation": [
      "http://espey.com/role/StockholdersEquityTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Reserved Common Shares for Future Issuance",
        "documentation": "The schedule of common shares reserved for future issuance as stock option awards.",
        "label": "Schedule Of Reserved Common Shares For Future Issuance Table Text Block"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Stock Option Activity",
        "label": "Share-Based Payment Arrangement, Option, Activity [Table Text Block]",
        "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r13",
      "r95"
     ]
    },
    "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Weighted Average Assumptions of Option Award",
        "label": "Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]",
        "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions."
       }
      }
     },
     "auth_ref": [
      "r98"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Security12bTitle",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r800"
     ]
    },
    "dei_Security12gTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Security12gTitle",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(g) Security",
        "documentation": "Title of a 12(g) registered security."
       }
      }
     },
     "auth_ref": [
      "r804"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r803"
     ]
    },
    "dei_SecurityReportingObligation": {
     "xbrltype": "securityReportingObligationItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SecurityReportingObligation",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Reporting Obligation",
        "documentation": "15(d), indicating whether the security has a reporting obligation under that section of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r809"
     ]
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SellingGeneralAndAdministrativeExpense",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Selling, general and administrative expenses",
        "label": "Selling, General and Administrative Expense",
        "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_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based compensation",
        "label": "Share-Based Payment Arrangement, Noncash Expense",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vesting period",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period",
        "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition."
       }
      }
     },
     "auth_ref": [
      "r770"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Changes in Non-Vested Stock Options [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://espey.com/role/ScheduleofWeightedAverageAssumptionsofOptionAwardTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average fair value per share of options granted during the period (in Dollars per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)."
       }
      }
     },
     "auth_ref": [
      "r380"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate",
     "presentation": [
      "http://espey.com/role/ScheduleofWeightedAverageAssumptionsofOptionAwardTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Dividend yield",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Rate",
        "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term."
       }
      }
     },
     "auth_ref": [
      "r389"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate",
     "presentation": [
      "http://espey.com/role/ScheduleofWeightedAverageAssumptionsofOptionAwardTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Expected stock price volatility",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate",
        "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period."
       }
      }
     },
     "auth_ref": [
      "r388"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
     "presentation": [
      "http://espey.com/role/ScheduleofWeightedAverageAssumptionsofOptionAwardTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Risk-free interest rate",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate",
        "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares."
       }
      }
     },
     "auth_ref": [
      "r390"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Authorized shares under plan (in Shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized",
        "documentation": "Number of shares authorized for issuance under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r771"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
     "calculation": {
      "http://espey.com/role/ScheduleofReservedCommonSharesforFutureIssuanceTable": {
       "parentTag": "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://espey.com/role/ScheduleofReservedCommonSharesforFutureIssuanceTable",
      "http://espey.com/role/StockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock options available for issuance",
        "verboseLabel": "Shares remain available for grant (in Shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant",
        "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": [
      "r36"
     ]
    },
    "esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionOutstandingNumber",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Outstanding shares (in Shares)",
        "documentation": "Number of options outstanding, including both vested and non-vested options.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Option Outstanding Number"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "presentation": [
      "http://espey.com/role/ScheduleofStockOptionActivityTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of Shares Subject to Option, Exercisable",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number",
        "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan."
       }
      }
     },
     "auth_ref": [
      "r371"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Aggregate intrinsic value of options exercised",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value",
        "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares."
       }
      }
     },
     "auth_ref": [
      "r384"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod",
     "presentation": [
      "http://espey.com/role/ScheduleofStockOptionActivityTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Number of Shares Subject to Option, Forfeited or expired",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period",
        "documentation": "For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired."
       }
      }
     },
     "auth_ref": [
      "r1003"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://espey.com/role/ScheduleofStockOptionActivityTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted Average Exercise Price, Forfeited or expired",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price",
        "documentation": "Weighted average price of options that were either forfeited or expired."
       }
      }
     },
     "auth_ref": [
      "r1003"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "presentation": [
      "http://espey.com/role/ScheduleofChangesinNonVestedStockOptionsTable",
      "http://espey.com/role/ScheduleofStockOptionActivityTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of Shares Subject to Option, Granted",
        "verboseLabel": "Weighted Number of Shares Subject to Option, Granted",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross",
        "documentation": "Gross number of share options (or share units) granted during the period."
       }
      }
     },
     "auth_ref": [
      "r373"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://espey.com/role/ScheduleofChangesinNonVestedStockOptionsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Average Grant Date Fair Value (per Option), Granted",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "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": [
      "r383"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://espey.com/role/ScheduleofStockOptionActivityTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Aggregate Intrinsic Value, Ending",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value",
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding."
       }
      }
     },
     "auth_ref": [
      "r36"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "calculation": {
      "http://espey.com/role/ScheduleofReservedCommonSharesforFutureIssuanceTable": {
       "parentTag": "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://espey.com/role/ScheduleofReservedCommonSharesforFutureIssuanceTable",
      "http://espey.com/role/ScheduleofStockOptionActivityTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Number of Shares Subject to Option, Ending",
        "terseLabel": "Stock options outstanding",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number",
        "documentation": "Number of options outstanding, including both vested and non-vested options."
       }
      }
     },
     "auth_ref": [
      "r369",
      "r370"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://espey.com/role/ScheduleofStockOptionActivityTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Weighted Average Exercise Price, Ending",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r369",
      "r370"
     ]
    },
    "esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestCancelled": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestCancelled",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Cancelled (in Shares)",
        "documentation": "Number of fully vested and expected to vest options, cancelled.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Vested And Expected To Vest Cancelled"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice",
     "presentation": [
      "http://espey.com/role/ScheduleofStockOptionActivityTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted Average Exercise Price, Exercisable",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Exercise Price",
        "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r386"
     ]
    },
    "esp_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercised": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercised",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, exercised (in Shares)",
        "documentation": "Number of fully vested and expected to vest options exercised.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Vested And Expected To Vest Exercised"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://espey.com/role/ScheduleofStockOptionActivityTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Aggregate Intrinsic Value, Vested or expected to vest",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value",
        "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r385"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber",
     "presentation": [
      "http://espey.com/role/ScheduleofStockOptionActivityTable",
      "http://espey.com/role/StockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of Shares Subject to Option, Vested or expected to vest",
        "verboseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number (in Shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number",
        "documentation": "Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r385"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://espey.com/role/ScheduleofStockOptionActivityTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted Average Exercise Price, Vested or expected to vest",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price",
        "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r385"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Award Types",
        "terseLabel": "All Award Types",
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://espey.com/role/ScheduleofStockOptionActivityTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted Average Exercise Price, Exercised",
        "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price",
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares."
       }
      }
     },
     "auth_ref": [
      "r374"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://espey.com/role/ScheduleofStockOptionActivityTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted Average Exercise Price, Granted",
        "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price",
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options."
       }
      }
     },
     "auth_ref": [
      "r373"
     ]
    },
    "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Based Compensation [Line Item]",
        "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": []
    },
    "us-gaap_SharePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharePrice",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Dividends per share (in Dollars per share)",
        "label": "Share Price",
        "documentation": "Price of a single share of a number of saleable stocks of a company."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
     "presentation": [
      "http://espey.com/role/ScheduleofWeightedAverageAssumptionsofOptionAwardTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Expected option life (in years)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term",
        "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r387"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1",
     "crdr": "debit",
     "presentation": [
      "http://espey.com/role/ScheduleofStockOptionActivityTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Aggregate Intrinsic Value, Exercisable",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Intrinsic Value",
        "documentation": "Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable."
       }
      }
     },
     "auth_ref": [
      "r36"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares",
     "presentation": [
      "http://espey.com/role/ScheduleofChangesinNonVestedStockOptionsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Weighted Number of Shares Subject to Option, Non-vested Beginning",
        "periodEndLabel": "Weighted Number of Shares Subject to Option, Non-vested Ending",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Nonvested, Number of Shares",
        "documentation": "Number of non-vested options outstanding."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares",
     "presentation": [
      "http://espey.com/role/ScheduleofChangesinNonVestedStockOptionsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Weighted Number of Shares Subject to Option, Forfeited or expired",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Nonvested Options Forfeited, Number of Shares",
        "documentation": "Number of non-vested options forfeited."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://espey.com/role/ScheduleofChangesinNonVestedStockOptionsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Average Grant Date Fair Value (per Option), Forfeited or expired",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Nonvested Options Forfeited, Weighted Average Grant Date Fair Value",
        "documentation": "Weighted average grant-date fair value of non-vested options forfeited."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://espey.com/role/ScheduleofChangesinNonVestedStockOptionsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Average Grant Date Fair Value (per Option), Non-vested Beginning",
        "periodEndLabel": "Average Grant Date Fair Value (per Option), Non-vested Ending",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Option, Nonvested, Weighted Average Exercise Price",
        "documentation": "Weighted average grant-date fair value of non-vested options outstanding."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Aggregate number of common stock (in Shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Number of Shares, Period Increase (Decrease)",
        "documentation": "Number of increase (decrease) of non-vested options."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://espey.com/role/ScheduleofStockOptionActivityTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted Average Remaining Contractual Term, Vested or expected to vest",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term",
        "documentation": "Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r385"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares",
     "presentation": [
      "http://espey.com/role/ScheduleofChangesinNonVestedStockOptionsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Weighted Number of Shares Subject to Option, Vested",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested, Number of Shares",
        "documentation": "Number of options vested."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://espey.com/role/ScheduleofChangesinNonVestedStockOptionsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Average Grant Date Fair Value (per Option), Vested",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested, Weighted Average Grant Date Fair Value",
        "documentation": "Weighted average grant-date fair value of options vested."
       }
      }
     },
     "auth_ref": []
    },
    "esp_SharebasedCompensationArrangementsBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "xbrltype": "durationItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "SharebasedCompensationArrangementsBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "presentation": [
      "http://espey.com/role/ScheduleofStockOptionActivityTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted Average Remaining Contractual Term, Ending",
        "label": "Sharebased Compensation Arrangements By Sharebased Payment Award Options Outstanding Weighted Average Remaining Contractual Term2"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTerm2": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTerm2",
     "presentation": [
      "http://espey.com/role/ScheduleofStockOptionActivityTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted Average Remaining Contractual Term, Exercisable",
        "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Remaining Contractual Term",
        "documentation": "Weighted average remaining contractual term of exercisable stock options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r97"
     ]
    },
    "us-gaap_SharesHeldInEmployeeStockOwnershipPlanAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharesHeldInEmployeeStockOwnershipPlanAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Stock Ownership Plan [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SignificantAccountingPoliciesTextBlock",
     "presentation": [
      "http://espey.com/role/SummaryofSignificantAccountingPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Significant Accounting Policies",
        "label": "Significant Accounting Policies [Text Block]",
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r83",
      "r173"
     ]
    },
    "esp_SignificantCustomersDetailsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "SignificantCustomersDetailsTable",
     "presentation": [
      "http://espey.com/role/SignificantCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Significant Customers (Details) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "esp_SignificantCustomersTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "SignificantCustomersTextBlock",
     "presentation": [
      "http://espey.com/role/SignificantCustomers"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Significant Customers",
        "documentation": "The disclosure for revenues in the period from one or more significant customers.",
        "label": "Significant Customers Text Block"
       }
      }
     },
     "auth_ref": []
    },
    "dei_SolicitingMaterial": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SolicitingMaterial",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Soliciting Material",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r807"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://espey.com/role/ScheduleofReservedCommonSharesforFutureIssuanceTable",
      "http://espey.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r62",
      "r65",
      "r66",
      "r133",
      "r161",
      "r162",
      "r163",
      "r177",
      "r178",
      "r179",
      "r181",
      "r188",
      "r190",
      "r192",
      "r210",
      "r262",
      "r268",
      "r291",
      "r323",
      "r418",
      "r419",
      "r432",
      "r433",
      "r434",
      "r437",
      "r444",
      "r445",
      "r453",
      "r455",
      "r456",
      "r457",
      "r458",
      "r460",
      "r471",
      "r486",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r494",
      "r496",
      "r504",
      "r581",
      "r592",
      "r593",
      "r594",
      "r614",
      "r666"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementLineItems",
     "presentation": [
      "http://espey.com/role/ShareholdersEquityType2or3"
     ],
     "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": [
      "r177",
      "r178",
      "r179",
      "r210",
      "r496",
      "r557",
      "r604",
      "r615",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623",
      "r626",
      "r629",
      "r630",
      "r631",
      "r632",
      "r633",
      "r634",
      "r635",
      "r636",
      "r637",
      "r639",
      "r640",
      "r641",
      "r642",
      "r643",
      "r645",
      "r647",
      "r648",
      "r652",
      "r653",
      "r654",
      "r655",
      "r656",
      "r657",
      "r658",
      "r659",
      "r660",
      "r661",
      "r662",
      "r663",
      "r666",
      "r791"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfStockholdersEquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Stockholders' Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_StatementScenarioAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "StatementScenarioAxis",
     "presentation": [
      "http://espey.com/role/RevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Scenario [Axis]"
       }
      }
     },
     "auth_ref": [
      "r193",
      "r361",
      "r919",
      "r920",
      "r950"
     ]
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementTable",
     "presentation": [
      "http://espey.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Table]",
        "documentation": "Disclosure of information about statement of comprehensive income, income, other comprehensive income, financial position, cash flows, and shareholders' equity."
       }
      }
     },
     "auth_ref": [
      "r177",
      "r178",
      "r179",
      "r210",
      "r224",
      "r496",
      "r557",
      "r604",
      "r615",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623",
      "r626",
      "r629",
      "r630",
      "r631",
      "r632",
      "r633",
      "r634",
      "r635",
      "r636",
      "r637",
      "r639",
      "r640",
      "r641",
      "r642",
      "r643",
      "r645",
      "r647",
      "r648",
      "r652",
      "r653",
      "r654",
      "r655",
      "r656",
      "r657",
      "r658",
      "r659",
      "r660",
      "r661",
      "r662",
      "r663",
      "r666",
      "r791"
     ]
    },
    "ecd_StkPrcOrTsrEstimationMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "StkPrcOrTsrEstimationMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Price or TSR Estimation Method [Text Block]",
        "terseLabel": "Stock Price or TSR Estimation Method"
       }
      }
     },
     "auth_ref": [
      "r819",
      "r830",
      "r846",
      "r881"
     ]
    },
    "us-gaap_StockAppreciationRightsSARSMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockAppreciationRightsSARSMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Appreciation Rights (SARs) [Member]",
        "terseLabel": "Stock Appreciation Rights (SARs)",
        "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodSharesEmployeeBenefitPlan": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodSharesEmployeeBenefitPlan",
     "presentation": [
      "http://espey.com/role/EmployeeStockOwnershipPlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shares distributed",
        "label": "Stock Issued During Period, Shares, Employee Benefit Plan",
        "documentation": "Number of shares issued during the period to an employee benefit plan, such as a defined contribution or defined benefit plan."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "presentation": [
      "http://espey.com/role/ScheduleofStockOptionActivityTable",
      "http://espey.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock options exercised (in Shares)",
        "negatedLabel": "Number of Shares Subject to Option, Exercised",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period",
        "documentation": "Number of share options (or share units) exercised during the current period."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r61",
      "r62",
      "r94",
      "r374"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan",
     "crdr": "credit",
     "presentation": [
      "http://espey.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Reduction of unearned ESOP shares",
        "label": "Stock Issued During Period, Value, Employee Stock Ownership Plan",
        "documentation": "Aggregate value of stock issued during the period as a result of employee stock ownership plan (ESOP)."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r37",
      "r61",
      "r62",
      "r94"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "crdr": "credit",
     "presentation": [
      "http://espey.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Stock options exercised",
        "label": "Stock Issued During Period, Value, Stock Options Exercised",
        "documentation": "Value of stock issued as a result of the exercise of stock options."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r62",
      "r65",
      "r66",
      "r94"
     ]
    },
    "us-gaap_StockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockOptionMember",
     "presentation": [
      "http://espey.com/role/ScheduleofStockOptionActivityTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Equity Option [Member]",
        "label": "Equity Option [Member]",
        "documentation": "Contracts conveying rights, but not obligations, to buy or sell a specific quantity of stock at a specified price during a specified period (an American option) or at a specified date (a European option)."
       }
      }
     },
     "auth_ref": [
      "r790"
     ]
    },
    "esp_StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "StockbasedCompensationDetailsScheduleofStockOptionActivityLineItems",
     "presentation": [
      "http://espey.com/role/ScheduleofStockOptionActivityTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock-based Compensation (Details) - Schedule of Stock Option Activity [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "esp_StockbasedCompensationDetailsScheduleofStockOptionActivityTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "StockbasedCompensationDetailsScheduleofStockOptionActivityTable",
     "presentation": [
      "http://espey.com/role/ScheduleofStockOptionActivityTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock-based Compensation (Details) - Schedule of Stock Option Activity [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "esp_StockbasedCompensationDetailsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "StockbasedCompensationDetailsTable",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock-based Compensation (Details) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet",
      "http://espey.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total stockholders' equity",
        "periodStartLabel": "Balances",
        "periodEndLabel": "Balances",
        "label": "Equity, Attributable to Parent",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r62",
      "r65",
      "r66",
      "r87",
      "r628",
      "r644",
      "r667",
      "r668",
      "r783",
      "r797",
      "r944",
      "r980",
      "r1038",
      "r1081"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Reconciliation of the Numerators and Denominators of the Basic and Diluted Earnings Per Share Computations [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "esp_StockholdersEquityDetailsScheduleofReservedCommonSharesforFutureIssuanceTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "StockholdersEquityDetailsScheduleofReservedCommonSharesforFutureIssuanceTable",
     "presentation": [
      "http://espey.com/role/ScheduleofReservedCommonSharesforFutureIssuanceTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity (Details) - Schedule of Reserved Common Shares for Future Issuance [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquityNoteAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquityNoteAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquityNoteDisclosureTextBlock",
     "presentation": [
      "http://espey.com/role/StockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stockholders' Equity",
        "label": "Equity [Text Block]",
        "documentation": "The entire disclosure for equity."
       }
      }
     },
     "auth_ref": [
      "r93",
      "r174",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r320",
      "r322",
      "r323",
      "r462",
      "r669",
      "r671",
      "r741"
     ]
    },
    "us-gaap_SubsequentEventMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventMember",
     "presentation": [
      "http://espey.com/role/PensionExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subsequent Event [Member]",
        "label": "Subsequent Event [Member]",
        "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r492",
      "r510"
     ]
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventTypeAxis",
     "presentation": [
      "http://espey.com/role/PensionExpenseDetails"
     ],
     "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": [
      "r492",
      "r510"
     ]
    },
    "us-gaap_SubsequentEventTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventTypeDomain",
     "presentation": [
      "http://espey.com/role/PensionExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event Type [Domain]",
        "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r492",
      "r510"
     ]
    },
    "esp_SummaryofSignificantAccountingPoliciesDetailsScheduleofEstimatedUsefulLivesofDepreciableAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "SummaryofSignificantAccountingPoliciesDetailsScheduleofEstimatedUsefulLivesofDepreciableAssetsTable",
     "presentation": [
      "http://espey.com/role/ScheduleofEstimatedUsefulLivesofDepreciableAssetsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Summary of Significant Accounting Policies (Details) - Schedule of Estimated Useful Lives of Depreciable Assets [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SupplementalCashFlowElementsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SupplementalCashFlowElementsAbstract",
     "presentation": [
      "http://espey.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Supplemental Schedule of Cash Flow Information:",
        "label": "Supplemental Cash Flow Elements [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TabularListTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TabularListTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tabular List [Table Text Block]",
        "terseLabel": "Tabular List, Table"
       }
      }
     },
     "auth_ref": [
      "r874"
     ]
    },
    "us-gaap_TaxesPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TaxesPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income taxes payable",
        "label": "Taxes Payable, Current",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r50",
      "r51"
     ]
    },
    "us-gaap_TemporaryEquityLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TemporaryEquityLineItems",
     "presentation": [
      "http://espey.com/role/ScheduleofReservedCommonSharesforFutureIssuanceTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Reserved Common Shares for Future Issuance [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": []
    },
    "srt_TitleOfIndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "TitleOfIndividualAxis",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title and Position [Axis]"
       }
      }
     },
     "auth_ref": [
      "r958",
      "r1039"
     ]
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title and Position [Domain]"
       }
      }
     },
     "auth_ref": []
    },
    "esp_TotalMilestoneReimbursementsReceivedAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "TotalMilestoneReimbursementsReceivedAmount",
     "crdr": "debit",
     "presentation": [
      "http://espey.com/role/PropertyPlantandEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total milestone reimbursements received amount",
        "documentation": "Total milestone reimbursements received amount.",
        "label": "Total Milestone Reimbursements Received Amount"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Amount",
        "terseLabel": "Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r866"
     ]
    },
    "ecd_TotalShareholderRtnVsPeerGroupTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TotalShareholderRtnVsPeerGroupTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Vs Peer Group [Text Block]",
        "terseLabel": "Total Shareholder Return Vs Peer Group"
       }
      }
     },
     "auth_ref": [
      "r873"
     ]
    },
    "esp_TotalStockholdersEquityBeforyEsopAndTreasuryStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "TotalStockholdersEquityBeforyEsopAndTreasuryStock",
     "crdr": "credit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total stockholders equity before ESOP",
        "documentation": "Total of all stockholders' equity (deficit) items, before ESOP and Treasury stock.",
        "label": "Total Stockholders Equity Befory Esop And Treasury Stock"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TradeAndOtherAccountsReceivablePolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TradeAndOtherAccountsReceivablePolicy",
     "presentation": [
      "http://espey.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts Receivable and Allowance for Credit Losses",
        "label": "Accounts Receivable [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r112",
      "r113",
      "r114",
      "r960",
      "r961",
      "r962"
     ]
    },
    "ecd_TradingArrAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TradingArrAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement [Axis]",
        "terseLabel": "Trading Arrangement:"
       }
      }
     },
     "auth_ref": [
      "r894"
     ]
    },
    "ecd_TradingArrByIndTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TradingArrByIndTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangements, by Individual [Table]",
        "terseLabel": "Trading Arrangements, by Individual"
       }
      }
     },
     "auth_ref": [
      "r896"
     ]
    },
    "us-gaap_TradingSecuritiesDebtAmortizedCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TradingSecuritiesDebtAmortizedCost",
     "crdr": "debit",
     "presentation": [
      "http://espey.com/role/ScheduleofClassifiesInvestmentSecuritiesasAvailableforSaleTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amortized Cost",
        "label": "Debt Securities, Trading, Amortized Cost",
        "documentation": "Amortized cost of investments in debt securities classified as trading."
       }
      }
     },
     "auth_ref": [
      "r569",
      "r933"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "TradingSymbol",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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/2024",
     "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain",
     "presentation": [
      "http://espey.com/role/ScheduleofClassifiesInvestmentSecuritiesasAvailableforSaleTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial Instruments [Domain]",
        "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": [
      "r227",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r254",
      "r255",
      "r256",
      "r309",
      "r321",
      "r461",
      "r482",
      "r511",
      "r512",
      "r513",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r520",
      "r521",
      "r522",
      "r523",
      "r524",
      "r525",
      "r527",
      "r528",
      "r529",
      "r530",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r582",
      "r773",
      "r775",
      "r776",
      "r777",
      "r778",
      "r779",
      "r780",
      "r781",
      "r782",
      "r784",
      "r926",
      "r927",
      "r928",
      "r929",
      "r930",
      "r931",
      "r932",
      "r976",
      "r977",
      "r978",
      "r979",
      "r1032",
      "r1033",
      "r1034",
      "r1035",
      "r1036",
      "r1037"
     ]
    },
    "ecd_TrdArrAdoptionDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrAdoptionDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Adoption Date",
        "terseLabel": "Adoption Date"
       }
      }
     },
     "auth_ref": [
      "r897"
     ]
    },
    "ecd_TrdArrDuration": {
     "xbrltype": "durationItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrDuration",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Duration",
        "terseLabel": "Arrangement Duration"
       }
      }
     },
     "auth_ref": [
      "r898"
     ]
    },
    "ecd_TrdArrExpirationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrExpirationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Expiration Date",
        "terseLabel": "Expiration Date"
       }
      }
     },
     "auth_ref": [
      "r898"
     ]
    },
    "ecd_TrdArrIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r896"
     ]
    },
    "ecd_TrdArrIndTitle": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrIndTitle",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Individual Title",
        "terseLabel": "Title"
       }
      }
     },
     "auth_ref": [
      "r896"
     ]
    },
    "ecd_TrdArrSecuritiesAggAvailAmt": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrSecuritiesAggAvailAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Securities Aggregate Available Amount",
        "terseLabel": "Aggregate Available"
       }
      }
     },
     "auth_ref": [
      "r899"
     ]
    },
    "ecd_TrdArrTerminationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrTerminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Termination Date",
        "terseLabel": "Termination Date"
       }
      }
     },
     "auth_ref": [
      "r897"
     ]
    },
    "us-gaap_TreasuryStockCommonMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockCommonMember",
     "presentation": [
      "http://espey.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Treasury Stock",
        "label": "Treasury Stock, Common [Member]",
        "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r33"
     ]
    },
    "us-gaap_TreasuryStockCommonShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockCommonShares",
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet_Parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Treasury stock, shares",
        "label": "Treasury Stock, Common, Shares",
        "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r33"
     ]
    },
    "us-gaap_TreasuryStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockValue",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Cost of 395,916 and 427,241 shares of common stock in treasury as of June 30, 2024 and 2023, respectively",
        "label": "Treasury Stock, Value",
        "documentation": "The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury."
       }
      }
     },
     "auth_ref": [
      "r33",
      "r34",
      "r62",
      "r65"
     ]
    },
    "esp_TwoThousandSevenPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "TwoThousandSevenPlanMember",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2007 Plan [Member]",
        "documentation": "Name of the equity-based compensation arrangement plan.",
        "label": "Two Thousand Seven Plan Member"
       }
      }
     },
     "auth_ref": []
    },
    "esp_TwoThousandSeventeenPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "TwoThousandSeventeenPlanMember",
     "presentation": [
      "http://espey.com/role/StockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2017 Plan [Member]",
        "documentation": "2017 Plan [Member]",
        "label": "Two Thousand Seventeen Plan Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TypeOfAdoptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TypeOfAdoptionMember",
     "presentation": [
      "http://espey.com/role/RevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Standards Update [Domain]",
        "documentation": "Amendment to accounting standards."
       }
      }
     },
     "auth_ref": [
      "r131",
      "r132",
      "r133",
      "r134",
      "r135",
      "r136",
      "r180",
      "r181",
      "r182",
      "r183",
      "r193",
      "r222",
      "r223",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r268",
      "r290",
      "r291",
      "r292",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r429",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r450",
      "r451",
      "r452",
      "r453",
      "r454",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r463",
      "r464",
      "r465",
      "r466",
      "r467",
      "r468",
      "r469",
      "r470",
      "r471",
      "r472",
      "r473",
      "r483",
      "r484",
      "r493",
      "r494",
      "r495",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r559",
      "r560",
      "r561",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601"
     ]
    },
    "esp_USFederalAndStateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "USFederalAndStateMember",
     "presentation": [
      "http://espey.com/role/ProvisionforIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "U.S. Federal and State [Member]",
        "label": "USFederal And State Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_USTreasuryBillSecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "USTreasuryBillSecuritiesMember",
     "presentation": [
      "http://espey.com/role/ScheduleofClassifiesInvestmentSecuritiesasAvailableforSaleTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "U.S. Treasury bills [Member]",
        "label": "US Treasury Bill Securities [Member]",
        "documentation": "This category includes information about negotiable debt securities issued by the United States Department of the Treasury which generally have maturities of one year or less, are interest bearing, and are backed by the full faith and credit of the United States government."
       }
      }
     },
     "auth_ref": [
      "r1048"
     ]
    },
    "ecd_UndrlygSecurityMktPriceChngPct": {
     "xbrltype": "pureItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "UndrlygSecurityMktPriceChngPct",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Underlying Security Market Price Change, Percent",
        "terseLabel": "Underlying Security Market Price Change"
       }
      }
     },
     "auth_ref": [
      "r893"
     ]
    },
    "esp_UnearnedESOPSharesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "UnearnedESOPSharesMember",
     "presentation": [
      "http://espey.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unearned ESOP Shares",
        "documentation": "Information pertaining to unearned employee stock ownership plan shares.",
        "label": "Unearned ESOPShares Member"
       }
      }
     },
     "auth_ref": []
    },
    "esp_UnearnedEsopSharesCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "UnearnedEsopSharesCost",
     "crdr": "debit",
     "calculation": {
      "http://espey.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://espey.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: Unearned ESOP shares",
        "documentation": "Unearned ESOP shares.",
        "label": "Unearned Esop Shares Cost"
       }
      }
     },
     "auth_ref": []
    },
    "esp_UnitsDeliveredMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "UnitsDeliveredMember",
     "presentation": [
      "http://espey.com/role/RevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Units Delivered [Member]",
        "documentation": "Units Delivered [Member]",
        "label": "Units Delivered Member"
       }
      }
     },
     "auth_ref": []
    },
    "esp_UnrecognizedGrossContractValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "UnrecognizedGrossContractValue",
     "crdr": "debit",
     "presentation": [
      "http://espey.com/role/ScheduleofContractsinProcessTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unrecognized gross contract value",
        "documentation": "The amount of unrecognized gross contract value.",
        "label": "Unrecognized Gross Contract Value"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UseOfEstimates": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UseOfEstimates",
     "presentation": [
      "http://espey.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Use of Estimates",
        "label": "Use of Estimates, Policy [Policy Text Block]",
        "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": [
      "r28",
      "r29",
      "r30",
      "r119",
      "r120",
      "r123",
      "r124"
     ]
    },
    "ecd_VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year [Member]",
        "terseLabel": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year"
       }
      }
     },
     "auth_ref": [
      "r862"
     ]
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "presentation": [
      "http://espey.com/role/ConsolidatedIncomeStatement",
      "http://espey.com/role/ScheduleofReconciliationoftheNumeratorsandDenominatorsoftheBasicandDilutedEarningsPerShareComputationsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Diluted (in Shares)",
        "verboseLabel": "Denominator for diluted earnings per common shares \u2013 Weighted average common shares",
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "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": [
      "r195",
      "r203"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesCommonStockSubjectToRepurchaseOrCancellation": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfSharesCommonStockSubjectToRepurchaseOrCancellation",
     "presentation": [
      "http://espey.com/role/ScheduleofReconciliationoftheNumeratorsandDenominatorsoftheBasicandDilutedEarningsPerShareComputationsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average common shares issued during the period",
        "label": "Weighted Average Number of Shares, Common Stock Subject to Repurchase or Cancellation",
        "documentation": "Number of shares of common stock subject to repurchase or cancellation determined by relating the portion of time within a reporting period that these shares have been outstanding to the total time in that period. Common stock subject to repurchase are outstanding common shares that are contingently returnable (that is, subject to recall)."
       }
      }
     },
     "auth_ref": [
      "r23"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesContingentlyIssuable": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfSharesContingentlyIssuable",
     "presentation": [
      "http://espey.com/role/ScheduleofReconciliationoftheNumeratorsandDenominatorsoftheBasicandDilutedEarningsPerShareComputationsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average ESOP shares earned during the period",
        "label": "Weighted Average Number of Shares, Contingently Issuable",
        "documentation": "Shares issuable for little or no cash consideration upon the satisfaction of certain conditions (contingently issuable shares) are considered outstanding common shares and included in the computation of basic Earnings Per Share as of the date that all necessary conditions have been satisfied (in essence, when issuance of the shares is no longer contingent). Outstanding common shares that are contingently returnable (that is, subject to recall) are treated in the same manner as contingently issuable shares. Contingently issuable shares include shares that (a) will be issued in the future upon the satisfaction of specified conditions, (b) have been placed in escrow and all or part must be returned if specified conditions are not met, or (c) have been issued but the holder must return all or part if specified conditions are not met. The number of contingently issuable shares is determined by relating the portion of time within a reporting period that these shares have been outstanding to the total time in that period."
       }
      }
     },
     "auth_ref": [
      "r23"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased",
     "presentation": [
      "http://espey.com/role/ScheduleofReconciliationoftheNumeratorsandDenominatorsoftheBasicandDilutedEarningsPerShareComputationsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Unearned ESOP shares",
        "label": "Weighted Average Number of Shares, Employee Stock Ownership Plan Shares Not Committed to be Released",
        "documentation": "Number of employee stock ownership plan (ESOP) shares that have not been committed to be released determined by relating the portion of time within a reporting period that these shares have been outstanding to the total time in that period."
       }
      }
     },
     "auth_ref": [
      "r39"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesIssuedBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfSharesIssuedBasic",
     "presentation": [
      "http://espey.com/role/ScheduleofReconciliationoftheNumeratorsandDenominatorsoftheBasicandDilutedEarningsPerShareComputationsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average common shares issued during the period",
        "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": [
      "r22",
      "r23"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfSharesOutstandingAbstract",
     "presentation": [
      "http://espey.com/role/ConsolidatedIncomeStatement",
      "http://espey.com/role/ScheduleofReconciliationoftheNumeratorsandDenominatorsoftheBasicandDilutedEarningsPerShareComputationsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average number of shares outstanding:",
        "verboseLabel": "Diluted EPS:",
        "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "presentation": [
      "http://espey.com/role/ConsolidatedIncomeStatement",
      "http://espey.com/role/ScheduleofReconciliationoftheNumeratorsandDenominatorsoftheBasicandDilutedEarningsPerShareComputationsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Basic (in Shares)",
        "verboseLabel": "Denominator for basic earnings per common shares \u2013 Weighted average common shares",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "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": [
      "r194",
      "r203"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasicAbstract",
     "presentation": [
      "http://espey.com/role/ScheduleofReconciliationoftheNumeratorsandDenominatorsoftheBasicandDilutedEarningsPerShareComputationsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Basic EPS:",
        "label": "Weighted Average Number of Shares Outstanding, Basic [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "esp_WeightedAverageRemainingContrSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTermactualTermGranted": {
     "xbrltype": "durationItemType",
     "nsuri": "http://espey.com/20240630",
     "localname": "WeightedAverageRemainingContrSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTermactualTermGranted",
     "presentation": [
      "http://espey.com/role/ScheduleofStockOptionActivityTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted Average Remaining Contractual Term, Granted",
        "documentation": "Represent the weighted average remaining contractual term, Granted.",
        "label": "Weighted Average Remaining Contr Sharebased Compensation Arrangement By Sharebased Payment Award Options Granted Weighted Average Remaining Contractual Termactual Term Granted"
       }
      }
     },
     "auth_ref": []
    },
    "dei_WrittenCommunications": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "WrittenCommunications",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Written Communications",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act."
       }
      }
     },
     "auth_ref": [
      "r910"
     ]
    },
    "ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested [Member]",
        "terseLabel": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested"
       }
      }
     },
     "auth_ref": [
      "r860"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "4",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482338/360-10-05-4"
  },
  "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/2147477401/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": "12",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-12"
  },
  "r4": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(g)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25"
  },
  "r5": {
   "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"
  },
  "r6": {
   "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"
  },
  "r7": {
   "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"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "825",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-1"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "405",
   "Topic": "942",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478353/942-405-50-1"
  },
  "r10": {
   "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"
  },
  "r11": {
   "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"
  },
  "r12": {
   "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"
  },
  "r13": {
   "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"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22))",
   "SubTopic": "10",
   "Topic": "210",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "SubTopic": "35",
   "Topic": "605",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/605-35/tableOfContent"
  },
  "r16": {
   "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"
  },
  "r17": {
   "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"
  },
  "r18": {
   "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"
  },
  "r19": {
   "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"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-1"
  },
  "r21": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2"
  },
  "r22": {
   "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"
  },
  "r23": {
   "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"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-2"
  },
  "r26": {
   "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"
  },
  "r27": {
   "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"
  },
  "r28": {
   "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"
  },
  "r29": {
   "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"
  },
  "r30": {
   "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"
  },
  "r31": {
   "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"
  },
  "r32": {
   "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"
  },
  "r33": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481549/505-30-45-1"
  },
  "r34": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481520/505-30-50-4"
  },
  "r35": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "710",
   "SubTopic": "10",
   "Section": "25",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483070/710-10-25-3"
  },
  "r36": {
   "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"
  },
  "r37": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "40",
   "Section": "25",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480637/718-40-25-10"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "40",
   "Section": "25",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480637/718-40-25-12"
  },
  "r39": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "40",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480520/718-40-45-3"
  },
  "r40": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "40",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480489/718-40-50-1"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "40",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480489/718-40-50-1"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "40",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480489/718-40-50-1"
  },
  "r43": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "40",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480489/718-40-50-1"
  },
  "r44": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-20"
  },
  "r45": {
   "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"
  },
  "r46": {
   "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"
  },
  "r47": {
   "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/2147478898/942-825-50-1"
  },
  "r48": {
   "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(19)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r49": {
   "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(19)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r50": {
   "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(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r51": {
   "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(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r52": {
   "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(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r53": {
   "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(22)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r54": {
   "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(22)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r55": {
   "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(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r56": {
   "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(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "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(25))",
   "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(26)(a))",
   "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(26)(b))",
   "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(26))",
   "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(28))",
   "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(29))",
   "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(30)(a)(1))",
   "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(30)(a)(3))",
   "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(30))",
   "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(31))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r67": {
   "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"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r69": {
   "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"
  },
  "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(1))",
   "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(10))",
   "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(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(20))",
   "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": "12",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-12"
  },
  "r77": {
   "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"
  },
  "r78": {
   "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"
  },
  "r79": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "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"
  },
  "r80": {
   "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"
  },
  "r81": {
   "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"
  },
  "r82": {
   "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"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/235/tableOfContent"
  },
  "r84": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "270",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/270/tableOfContent"
  },
  "r85": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "275",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/275/tableOfContent"
  },
  "r86": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "275",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18"
  },
  "r87": {
   "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"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/360/tableOfContent"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482130/360-10-45-15"
  },
  "r90": {
   "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"
  },
  "r91": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.CC)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480091/360-10-S99-2"
  },
  "r92": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "440",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/440/tableOfContent"
  },
  "r93": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/505/tableOfContent"
  },
  "r94": {
   "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"
  },
  "r95": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r96": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r97": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r98": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r99": {
   "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(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r100": {
   "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/2147478546/942-210-S99-1"
  },
  "r101": {
   "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(15)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r102": {
   "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(15)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r103": {
   "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(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r104": {
   "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(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r105": {
   "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/2147478546/942-210-S99-1"
  },
  "r106": {
   "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/2147478524/942-220-S99-1"
  },
  "r107": {
   "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/2147478524/942-220-S99-1"
  },
  "r108": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "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"
  },
  "r109": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "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"
  },
  "r110": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "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"
  },
  "r111": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "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"
  },
  "r112": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-11B"
  },
  "r113": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-15"
  },
  "r114": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-6"
  },
  "r115": {
   "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"
  },
  "r116": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "270",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482989/270-10-45-6"
  },
  "r117": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "270",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1"
  },
  "r118": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1"
  },
  "r119": {
   "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"
  },
  "r120": {
   "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"
  },
  "r121": {
   "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"
  },
  "r122": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-1"
  },
  "r123": {
   "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"
  },
  "r124": {
   "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"
  },
  "r125": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-6"
  },
  "r126": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-7"
  },
  "r127": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r128": {
   "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"
  },
  "r129": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/275/tableOfContent"
  },
  "r130": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/606/tableOfContent"
  },
  "r131": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6"
  },
  "r132": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6"
  },
  "r133": {
   "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"
  },
  "r134": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6"
  },
  "r135": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6"
  },
  "r136": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-7"
  },
  "r137": {
   "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"
  },
  "r138": {
   "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"
  },
  "r139": {
   "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"
  },
  "r140": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483489/210-10-50-1"
  },
  "r141": {
   "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"
  },
  "r142": {
   "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"
  },
  "r143": {
   "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"
  },
  "r144": {
   "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"
  },
  "r145": {
   "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(3)(c)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r146": {
   "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(3)(c)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r147": {
   "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"
  },
  "r148": {
   "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(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r149": {
   "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)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r150": {
   "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)(d)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r151": {
   "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"
  },
  "r152": {
   "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"
  },
  "r153": {
   "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"
  },
  "r154": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r155": {
   "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"
  },
  "r156": {
   "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"
  },
  "r157": {
   "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"
  },
  "r158": {
   "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"
  },
  "r159": {
   "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"
  },
  "r160": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-1"
  },
  "r161": {
   "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"
  },
  "r162": {
   "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"
  },
  "r163": {
   "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"
  },
  "r164": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r165": {
   "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"
  },
  "r166": {
   "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"
  },
  "r167": {
   "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(7)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r168": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-11"
  },
  "r169": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-12"
  },
  "r170": {
   "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"
  },
  "r171": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2A"
  },
  "r172": {
   "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"
  },
  "r173": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-1"
  },
  "r174": {
   "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"
  },
  "r175": {
   "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"
  },
  "r176": {
   "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"
  },
  "r177": {
   "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"
  },
  "r178": {
   "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"
  },
  "r179": {
   "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"
  },
  "r180": {
   "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"
  },
  "r181": {
   "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"
  },
  "r182": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r183": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r184": {
   "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"
  },
  "r185": {
   "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"
  },
  "r186": {
   "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"
  },
  "r187": {
   "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"
  },
  "r188": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6"
  },
  "r189": {
   "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"
  },
  "r190": {
   "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"
  },
  "r191": {
   "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"
  },
  "r192": {
   "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"
  },
  "r193": {
   "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"
  },
  "r194": {
   "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"
  },
  "r195": {
   "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"
  },
  "r196": {
   "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"
  },
  "r197": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-22"
  },
  "r198": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-23"
  },
  "r199": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-28A"
  },
  "r200": {
   "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"
  },
  "r201": {
   "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"
  },
  "r202": {
   "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"
  },
  "r203": {
   "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"
  },
  "r204": {
   "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"
  },
  "r205": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r206": {
   "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"
  },
  "r207": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1"
  },
  "r208": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1B"
  },
  "r209": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-6A"
  },
  "r210": {
   "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"
  },
  "r211": {
   "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"
  },
  "r212": {
   "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"
  },
  "r213": {
   "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"
  },
  "r214": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r215": {
   "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"
  },
  "r216": {
   "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"
  },
  "r217": {
   "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"
  },
  "r218": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(ee)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r219": {
   "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"
  },
  "r220": {
   "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"
  },
  "r221": {
   "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"
  },
  "r222": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476173/280-10-65-1"
  },
  "r223": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476173/280-10-65-1"
  },
  "r224": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-13"
  },
  "r225": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-4"
  },
  "r226": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481830/320-10-45-2"
  },
  "r227": {
   "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"
  },
  "r228": {
   "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"
  },
  "r229": {
   "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"
  },
  "r230": {
   "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"
  },
  "r231": {
   "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"
  },
  "r232": {
   "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"
  },
  "r233": {
   "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"
  },
  "r234": {
   "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"
  },
  "r235": {
   "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"
  },
  "r236": {
   "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"
  },
  "r237": {
   "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"
  },
  "r238": {
   "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"
  },
  "r239": {
   "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"
  },
  "r240": {
   "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"
  },
  "r241": {
   "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"
  },
  "r242": {
   "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"
  },
  "r243": {
   "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"
  },
  "r244": {
   "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"
  },
  "r245": {
   "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"
  },
  "r246": {
   "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"
  },
  "r247": {
   "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"
  },
  "r248": {
   "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"
  },
  "r249": {
   "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"
  },
  "r250": {
   "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"
  },
  "r251": {
   "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"
  },
  "r252": {
   "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"
  },
  "r253": {
   "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"
  },
  "r254": {
   "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"
  },
  "r255": {
   "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"
  },
  "r256": {
   "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"
  },
  "r257": {
   "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"
  },
  "r258": {
   "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"
  },
  "r259": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4"
  },
  "r260": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4"
  },
  "r261": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4"
  },
  "r262": {
   "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"
  },
  "r263": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4"
  },
  "r264": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4"
  },
  "r265": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-5"
  },
  "r266": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-5"
  },
  "r267": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-5"
  },
  "r268": {
   "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"
  },
  "r269": {
   "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"
  },
  "r270": {
   "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"
  },
  "r271": {
   "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"
  },
  "r272": {
   "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"
  },
  "r273": {
   "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"
  },
  "r274": {
   "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"
  },
  "r275": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479130/326-30-45-1"
  },
  "r276": {
   "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"
  },
  "r277": {
   "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"
  },
  "r278": {
   "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"
  },
  "r279": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/330/tableOfContent"
  },
  "r280": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483080/330-10-50-1"
  },
  "r281": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483080/330-10-50-4"
  },
  "r282": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1"
  },
  "r283": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r284": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r285": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r286": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r287": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r288": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r289": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r290": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476166/350-60-65-1"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476166/350-60-65-1"
  },
  "r292": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477123/405-50-65-1"
  },
  "r293": {
   "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"
  },
  "r294": {
   "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"
  },
  "r295": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-4"
  },
  "r296": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r297": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r298": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1"
  },
  "r299": {
   "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"
  },
  "r300": {
   "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"
  },
  "r301": {
   "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"
  },
  "r302": {
   "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"
  },
  "r303": {
   "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"
  },
  "r304": {
   "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"
  },
  "r305": {
   "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"
  },
  "r306": {
   "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"
  },
  "r307": {
   "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"
  },
  "r308": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r309": {
   "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"
  },
  "r310": {
   "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"
  },
  "r311": {
   "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"
  },
  "r312": {
   "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"
  },
  "r313": {
   "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"
  },
  "r314": {
   "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"
  },
  "r315": {
   "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"
  },
  "r316": {
   "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"
  },
  "r317": {
   "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"
  },
  "r318": {
   "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"
  },
  "r319": {
   "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"
  },
  "r320": {
   "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"
  },
  "r321": {
   "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"
  },
  "r322": {
   "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"
  },
  "r323": {
   "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"
  },
  "r324": {
   "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"
  },
  "r325": {
   "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"
  },
  "r326": {
   "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"
  },
  "r327": {
   "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"
  },
  "r328": {
   "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"
  },
  "r329": {
   "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"
  },
  "r330": {
   "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"
  },
  "r331": {
   "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"
  },
  "r332": {
   "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"
  },
  "r333": {
   "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"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-17"
  },
  "r335": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-18"
  },
  "r336": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-18"
  },
  "r337": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-19"
  },
  "r338": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-20"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-20"
  },
  "r340": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-20"
  },
  "r341": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-20"
  },
  "r342": {
   "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"
  },
  "r343": {
   "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"
  },
  "r344": {
   "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"
  },
  "r345": {
   "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"
  },
  "r346": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/715/tableOfContent"
  },
  "r347": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r348": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r349": {
   "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"
  },
  "r350": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r351": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r352": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(o)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(p)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r354": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(q)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(r)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(r)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480126/715-20-S99-2"
  },
  "r358": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480266/715-60-50-3"
  },
  "r359": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "70",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480794/715-70-50-1"
  },
  "r360": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-5"
  },
  "r361": {
   "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"
  },
  "r362": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-7"
  },
  "r363": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/718/tableOfContent"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480454/718-10-45-1"
  },
  "r365": {
   "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"
  },
  "r366": {
   "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"
  },
  "r367": {
   "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"
  },
  "r368": {
   "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"
  },
  "r369": {
   "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"
  },
  "r370": {
   "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"
  },
  "r371": {
   "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"
  },
  "r372": {
   "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"
  },
  "r373": {
   "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"
  },
  "r374": {
   "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"
  },
  "r375": {
   "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"
  },
  "r376": {
   "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"
  },
  "r377": {
   "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"
  },
  "r378": {
   "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"
  },
  "r379": {
   "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"
  },
  "r380": {
   "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"
  },
  "r381": {
   "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"
  },
  "r382": {
   "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"
  },
  "r383": {
   "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"
  },
  "r384": {
   "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"
  },
  "r385": {
   "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"
  },
  "r386": {
   "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"
  },
  "r387": {
   "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"
  },
  "r388": {
   "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"
  },
  "r389": {
   "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"
  },
  "r390": {
   "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"
  },
  "r391": {
   "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"
  },
  "r392": {
   "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"
  },
  "r393": {
   "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"
  },
  "r394": {
   "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"
  },
  "r395": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r396": {
   "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"
  },
  "r397": {
   "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"
  },
  "r398": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "720",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483359/720-20-50-1"
  },
  "r399": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/740/tableOfContent"
  },
  "r400": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-25"
  },
  "r401": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-28"
  },
  "r402": {
   "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"
  },
  "r403": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12"
  },
  "r404": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r405": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r406": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12B"
  },
  "r407": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12C"
  },
  "r408": {
   "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"
  },
  "r409": {
   "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"
  },
  "r410": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-19"
  },
  "r411": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-2"
  },
  "r412": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-2"
  },
  "r413": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-20"
  },
  "r414": {
   "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"
  },
  "r415": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-22"
  },
  "r416": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-23"
  },
  "r417": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r418": {
   "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"
  },
  "r419": {
   "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"
  },
  "r420": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-9"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "9",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-9"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "9",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-9"
  },
  "r423": {
   "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.1.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1"
  },
  "r424": {
   "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"
  },
  "r425": {
   "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"
  },
  "r426": {
   "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"
  },
  "r427": {
   "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/2147477891/740-270-50-1"
  },
  "r428": {
   "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"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r430": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r432": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r433": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r434": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r435": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r436": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r437": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479845/805-20-65-3"
  },
  "r439": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479845/805-20-65-3"
  },
  "r440": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479845/805-20-65-3"
  },
  "r441": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r442": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r443": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r445": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r446": {
   "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"
  },
  "r447": {
   "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"
  },
  "r448": {
   "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"
  },
  "r449": {
   "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"
  },
  "r450": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r451": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r453": {
   "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"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r455": {
   "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"
  },
  "r456": {
   "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"
  },
  "r457": {
   "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"
  },
  "r458": {
   "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"
  },
  "r459": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r460": {
   "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"
  },
  "r461": {
   "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"
  },
  "r462": {
   "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"
  },
  "r463": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r464": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r471": {
   "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"
  },
  "r472": {
   "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"
  },
  "r473": {
   "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"
  },
  "r474": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r475": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r476": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r477": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r478": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r479": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r480": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r481": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3"
  },
  "r482": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6B"
  },
  "r483": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482477/820-10-65-13"
  },
  "r484": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482477/820-10-65-13"
  },
  "r485": {
   "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"
  },
  "r486": {
   "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"
  },
  "r487": {
   "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"
  },
  "r488": {
   "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"
  },
  "r489": {
   "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"
  },
  "r490": {
   "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"
  },
  "r491": {
   "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"
  },
  "r492": {
   "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"
  },
  "r493": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-5"
  },
  "r494": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8"
  },
  "r495": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8"
  },
  "r496": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "12A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479165/842-20-35-12A"
  },
  "r497": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-7A"
  },
  "r498": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479773/842-30-50-5"
  },
  "r499": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-1"
  },
  "r500": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2"
  },
  "r501": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2"
  },
  "r502": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2"
  },
  "r503": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2"
  },
  "r504": {
   "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"
  },
  "r505": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/850/tableOfContent"
  },
  "r506": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1"
  },
  "r507": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1"
  },
  "r508": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1"
  },
  "r509": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-6"
  },
  "r510": {
   "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"
  },
  "r511": {
   "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"
  },
  "r512": {
   "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"
  },
  "r513": {
   "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"
  },
  "r514": {
   "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"
  },
  "r515": {
   "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"
  },
  "r516": {
   "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"
  },
  "r517": {
   "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"
  },
  "r518": {
   "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"
  },
  "r519": {
   "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"
  },
  "r520": {
   "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"
  },
  "r521": {
   "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"
  },
  "r522": {
   "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"
  },
  "r523": {
   "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"
  },
  "r524": {
   "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"
  },
  "r525": {
   "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"
  },
  "r526": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481420/860-30-50-7"
  },
  "r527": {
   "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"
  },
  "r528": {
   "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"
  },
  "r529": {
   "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"
  },
  "r530": {
   "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"
  },
  "r531": {
   "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"
  },
  "r532": {
   "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"
  },
  "r533": {
   "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"
  },
  "r534": {
   "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"
  },
  "r535": {
   "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"
  },
  "r536": {
   "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"
  },
  "r537": {
   "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"
  },
  "r538": {
   "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"
  },
  "r539": {
   "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"
  },
  "r540": {
   "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"
  },
  "r541": {
   "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"
  },
  "r542": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "910",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482546/910-10-50-6"
  },
  "r543": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "910",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482332/910-20-50-1"
  },
  "r544": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/912/tableOfContent"
  },
  "r545": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "275",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479072/912-275-50-2"
  },
  "r546": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "275",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479072/912-275-50-3"
  },
  "r547": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "275",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479072/912-275-50-4"
  },
  "r548": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "275",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479072/912-275-50-5"
  },
  "r549": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "275",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479072/912-275-50-6"
  },
  "r550": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478345/912-310-45-11"
  },
  "r551": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478685/912-310-50-1"
  },
  "r552": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478685/912-310-50-4"
  },
  "r553": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "330",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478411/912-330-50-1"
  },
  "r554": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "405",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478788/912-405-45-4"
  },
  "r555": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "405",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477623/912-405-50-2"
  },
  "r556": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "405",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477623/912-405-50-3"
  },
  "r557": {
   "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"
  },
  "r558": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483154/926-20-50-5"
  },
  "r559": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483194/926-20-65-2"
  },
  "r560": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483194/926-20-65-2"
  },
  "r561": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483194/926-20-65-2"
  },
  "r562": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "928",
   "SubTopic": "340",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478859/928-340-50-1"
  },
  "r563": {
   "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/2147478524/942-220-S99-1"
  },
  "r564": {
   "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/2147478524/942-220-S99-1"
  },
  "r565": {
   "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/2147477314/942-235-S99-1"
  },
  "r566": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477268/942-320-50-3A"
  },
  "r567": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477268/942-320-50-3A"
  },
  "r568": {
   "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/2147478451/942-360-50-1"
  },
  "r569": {
   "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)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r570": {
   "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/2147478777/944-210-S99-1"
  },
  "r571": {
   "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)(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r572": {
   "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/2147478777/944-210-S99-1"
  },
  "r573": {
   "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/2147478777/944-210-S99-1"
  },
  "r574": {
   "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/2147478777/944-210-S99-1"
  },
  "r575": {
   "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/2147478777/944-210-S99-1"
  },
  "r576": {
   "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/2147478777/944-210-S99-1"
  },
  "r577": {
   "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/2147478777/944-210-S99-1"
  },
  "r578": {
   "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/2147478777/944-210-S99-1"
  },
  "r579": {
   "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/2147477250/944-220-S99-1"
  },
  "r580": {
   "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/2147477250/944-220-S99-1"
  },
  "r581": {
   "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/2147477250/944-220-S99-1"
  },
  "r582": {
   "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/2147477250/944-220-S99-1"
  },
  "r583": {
   "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(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r584": {
   "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/2147477250/944-220-S99-1"
  },
  "r585": {
   "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/2147477250/944-220-S99-1"
  },
  "r586": {
   "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(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r587": {
   "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/2147477250/944-220-S99-1"
  },
  "r588": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r589": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r590": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r591": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r592": {
   "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"
  },
  "r593": {
   "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"
  },
  "r594": {
   "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"
  },
  "r595": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r596": {
   "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"
  },
  "r597": {
   "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"
  },
  "r598": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r599": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r600": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r601": {
   "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"
  },
  "r602": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.W.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479583/944-40-S99-1"
  },
  "r603": {
   "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/2147477351/944-825-50-1B"
  },
  "r604": {
   "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"
  },
  "r605": {
   "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(f)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r606": {
   "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(f)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r607": {
   "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(f)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r608": {
   "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(h)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r609": {
   "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"
  },
  "r610": {
   "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"
  },
  "r611": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-2"
  },
  "r612": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-5"
  },
  "r613": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-6"
  },
  "r614": {
   "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/2147478009/946-205-45-4"
  },
  "r615": {
   "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/2147477796/946-210-45-4"
  },
  "r616": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r617": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r618": {
   "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/2147479170/946-210-S99-1"
  },
  "r619": {
   "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/2147479170/946-210-S99-1"
  },
  "r620": {
   "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/2147479170/946-210-S99-1"
  },
  "r621": {
   "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/2147479170/946-210-S99-1"
  },
  "r622": {
   "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/2147479170/946-210-S99-1"
  },
  "r623": {
   "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/2147479170/946-210-S99-1"
  },
  "r624": {
   "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/2147479170/946-210-S99-1"
  },
  "r625": {
   "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/2147479170/946-210-S99-1"
  },
  "r626": {
   "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/2147479170/946-210-S99-1"
  },
  "r627": {
   "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/2147479170/946-210-S99-1"
  },
  "r628": {
   "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/2147479170/946-210-S99-1"
  },
  "r629": {
   "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/2147479170/946-210-S99-1"
  },
  "r630": {
   "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/2147479170/946-210-S99-1"
  },
  "r631": {
   "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/2147479170/946-210-S99-1"
  },
  "r632": {
   "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/2147479170/946-210-S99-1"
  },
  "r633": {
   "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/2147479170/946-210-S99-1"
  },
  "r634": {
   "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/2147479170/946-210-S99-1"
  },
  "r635": {
   "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/2147479170/946-210-S99-1"
  },
  "r636": {
   "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/2147479170/946-210-S99-1"
  },
  "r637": {
   "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/2147479170/946-210-S99-1"
  },
  "r638": {
   "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/2147479170/946-210-S99-1"
  },
  "r639": {
   "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/2147479170/946-210-S99-1"
  },
  "r640": {
   "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/2147479170/946-210-S99-1"
  },
  "r641": {
   "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/2147479170/946-210-S99-1"
  },
  "r642": {
   "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/2147479170/946-210-S99-1"
  },
  "r643": {
   "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/2147479170/946-210-S99-2"
  },
  "r644": {
   "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/2147479170/946-210-S99-2"
  },
  "r645": {
   "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/2147479105/946-220-45-3"
  },
  "r646": {
   "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/2147479105/946-220-45-7"
  },
  "r647": {
   "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/2147479134/946-220-S99-1"
  },
  "r648": {
   "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/2147479134/946-220-S99-1"
  },
  "r649": {
   "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)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r650": {
   "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)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r651": {
   "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/2147479134/946-220-S99-1"
  },
  "r652": {
   "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/2147479134/946-220-S99-1"
  },
  "r653": {
   "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/2147479134/946-220-S99-1"
  },
  "r654": {
   "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/2147479134/946-220-S99-1"
  },
  "r655": {
   "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/2147479134/946-220-S99-1"
  },
  "r656": {
   "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/2147479134/946-220-S99-1"
  },
  "r657": {
   "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/2147479134/946-220-S99-1"
  },
  "r658": {
   "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/2147479134/946-220-S99-1"
  },
  "r659": {
   "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/2147479134/946-220-S99-1"
  },
  "r660": {
   "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/2147479134/946-220-S99-1"
  },
  "r661": {
   "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/2147479134/946-220-S99-1"
  },
  "r662": {
   "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/2147479134/946-220-S99-1"
  },
  "r663": {
   "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/2147479134/946-220-S99-1"
  },
  "r664": {
   "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/2147479134/946-220-S99-1"
  },
  "r665": {
   "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/2147479134/946-220-S99-3"
  },
  "r666": {
   "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/2147479134/946-220-S99-3"
  },
  "r667": {
   "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/2147479134/946-220-S99-3"
  },
  "r668": {
   "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/2147479134/946-220-S99-3"
  },
  "r669": {
   "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/2147477968/946-235-50-2"
  },
  "r670": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2"
  },
  "r671": {
   "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/2147477968/946-235-50-2"
  },
  "r672": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2"
  },
  "r673": {
   "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 A)(Footnote 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r674": {
   "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 A)(Footnote 2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r675": {
   "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 A)(Footnote 2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r676": {
   "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 A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r677": {
   "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 A)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r678": {
   "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 A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r679": {
   "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 B)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r680": {
   "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 B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r681": {
   "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 10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r682": {
   "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/2147477271/946-320-S99-1"
  },
  "r683": {
   "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 6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r684": {
   "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 8)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r685": {
   "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 8)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r686": {
   "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 8)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r687": {
   "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 8)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r688": {
   "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 8)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r689": {
   "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 8)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r690": {
   "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 8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r691": {
   "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 9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r692": {
   "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))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r693": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "12",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-12"
  },
  "r694": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "19",
   "Subparagraph": "(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-19"
  },
  "r695": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "19",
   "Subparagraph": "(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-19"
  },
  "r696": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "19",
   "Subparagraph": "(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-19"
  },
  "r697": {
   "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 A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r698": {
   "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 A)(Footnote 1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r699": {
   "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 A)(Footnote 1)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r700": {
   "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 A)(Footnote 3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r701": {
   "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 A)(Footnote 4)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r702": {
   "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 A)(Footnote 4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r703": {
   "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 A)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r704": {
   "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 A)(Footnote 6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r705": {
   "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 A)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r706": {
   "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 A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r707": {
   "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 B)(Footnote 10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r708": {
   "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 B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r709": {
   "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 11)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r710": {
   "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 11)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r711": {
   "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 11)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r712": {
   "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 11)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r713": {
   "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 11)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r714": {
   "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 11)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r715": {
   "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 11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r716": {
   "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 12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r717": {
   "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 13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r718": {
   "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/2147477271/946-320-S99-3"
  },
  "r719": {
   "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 9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r720": {
   "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))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r721": {
   "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 D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r722": {
   "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 A)(Footnote 1)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r723": {
   "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 A)(Footnote 1)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r724": {
   "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 A)(Footnote 1)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r725": {
   "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 A)(Footnote 1)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r726": {
   "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 A)(Footnote 1)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r727": {
   "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 A)(Footnote 1)(b)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r728": {
   "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 A)(Footnote 1)(b)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r729": {
   "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 A)(Footnote 1)(b)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r730": {
   "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 A)(Footnote 1)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r731": {
   "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 A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r732": {
   "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 A)(Footnote 3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r733": {
   "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 A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r734": {
   "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 B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r735": {
   "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 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r736": {
   "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 5)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r737": {
   "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/2147477271/946-320-S99-6"
  },
  "r738": {
   "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 8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r739": {
   "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 9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r740": {
   "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))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r741": {
   "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/2147478448/946-505-50-6"
  },
  "r742": {
   "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/2147478785/954-310-50-2"
  },
  "r743": {
   "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/2147478522/954-440-50-1"
  },
  "r744": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "976",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477332/976-310-50-1"
  },
  "r745": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "978",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479230/978-310-50-1"
  },
  "r746": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "985",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2"
  },
  "r747": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r748": {
   "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"
  },
  "r749": {
   "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"
  },
  "r750": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "8",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-8"
  },
  "r751": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r752": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r753": {
   "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"
  },
  "r754": {
   "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"
  },
  "r755": {
   "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"
  },
  "r756": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "48",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-48"
  },
  "r757": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "49",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-49"
  },
  "r758": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481933/310-10-55-12A"
  },
  "r759": {
   "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"
  },
  "r760": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r761": {
   "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"
  },
  "r762": {
   "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"
  },
  "r763": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r764": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r765": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r766": {
   "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"
  },
  "r767": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r768": {
   "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"
  },
  "r769": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480547/715-80-55-8"
  },
  "r770": {
   "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"
  },
  "r771": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "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"
  },
  "r772": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "231",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482663/740-10-55-231"
  },
  "r773": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "100",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100"
  },
  "r774": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "100",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100"
  },
  "r775": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "101",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-101"
  },
  "r776": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "103",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-103"
  },
  "r777": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r778": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r779": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r780": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r781": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r782": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r783": {
   "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"
  },
  "r784": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481395/860-30-55-4"
  },
  "r785": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H"
  },
  "r786": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-29F"
  },
  "r787": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r788": {
   "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/2147478795/946-210-50-1"
  },
  "r789": {
   "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/2147478795/946-210-50-6"
  },
  "r790": {
   "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/2147477439/946-210-55-1"
  },
  "r791": {
   "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/2147477802/946-310-45-1"
  },
  "r792": {
   "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/2147477271/946-320-S99-1"
  },
  "r793": {
   "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/2147477271/946-320-S99-2"
  },
  "r794": {
   "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/2147477271/946-320-S99-3"
  },
  "r795": {
   "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/2147477271/946-320-S99-6"
  },
  "r796": {
   "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/2147479168/946-830-55-10"
  },
  "r797": {
   "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/2147479168/946-830-55-12"
  },
  "r798": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "Global LEI Foundation"
  },
  "r799": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12"
  },
  "r800": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r801": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r802": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r803": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r804": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "g"
  },
  "r805": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12, 13, 15d"
  },
  "r806": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "13e",
   "Subsection": "4c"
  },
  "r807": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14a",
   "Subsection": "12"
  },
  "r808": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r809": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "15",
   "Subsection": "d"
  },
  "r810": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r811": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "240",
   "Section": "308",
   "Subsection": "a"
  },
  "r812": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "249",
   "Section": "308",
   "Subsection": "a"
  },
  "r813": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r814": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16",
   "Subsection": "J",
   "Paragraph": "a"
  },
  "r815": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1"
  },
  "r816": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r817": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r818": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r819": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r820": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r821": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r822": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r823": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r824": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "2"
  },
  "r825": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r826": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a"
  },
  "r827": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r828": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r829": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r830": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r831": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r832": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r833": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r834": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r835": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "b"
  },
  "r836": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 8-K",
   "Number": "249",
   "Section": "308"
  },
  "r837": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form F-3"
  },
  "r838": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-2"
  },
  "r839": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-3"
  },
  "r840": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-4"
  },
  "r841": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-6"
  },
  "r842": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a"
  },
  "r843": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r844": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r845": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r846": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r847": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r848": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r849": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r850": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r851": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "b"
  },
  "r852": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form S-3"
  },
  "r853": {
   "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"
  },
  "r854": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Investment Company Act",
   "Number": "270"
  },
  "r855": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v"
  },
  "r856": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "1"
  },
  "r857": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "ii"
  },
  "r858": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii"
  },
  "r859": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "B",
   "Clause": "1",
   "Subclause": "ii"
  },
  "r860": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "i"
  },
  "r861": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "ii"
  },
  "r862": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "iii"
  },
  "r863": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "iv"
  },
  "r864": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "v"
  },
  "r865": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "vi"
  },
  "r866": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iv"
  },
  "r867": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "vi"
  },
  "r868": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "3"
  },
  "r869": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "4"
  },
  "r870": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "i"
  },
  "r871": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "ii"
  },
  "r872": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iii"
  },
  "r873": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iv"
  },
  "r874": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6"
  },
  "r875": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6",
   "Subparagraph": "i"
  },
  "r876": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w"
  },
  "r877": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1"
  },
  "r878": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r879": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r880": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r881": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r882": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r883": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r884": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r885": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r886": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "2"
  },
  "r887": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "1"
  },
  "r888": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2"
  },
  "r889": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "A"
  },
  "r890": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "C"
  },
  "r891": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "D"
  },
  "r892": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "E"
  },
  "r893": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "F"
  },
  "r894": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a"
  },
  "r895": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "1"
  },
  "r896": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "A"
  },
  "r897": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "B"
  },
  "r898": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "C"
  },
  "r899": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "D"
  },
  "r900": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r901": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Number": "229",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1"
  },
  "r902": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "A",
   "Number": "229"
  },
  "r903": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "B",
   "Clause": "1",
   "Number": "229"
  },
  "r904": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "B",
   "Clause": "1",
   "Subclause": "i",
   "Number": "229"
  },
  "r905": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "313"
  },
  "r906": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r907": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-X",
   "Number": "210",
   "Section": "2",
   "Subsection": "2"
  },
  "r908": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r909": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "413",
   "Subsection": "b"
  },
  "r910": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "425"
  },
  "r911": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "462",
   "Subsection": "b"
  },
  "r912": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "462",
   "Subsection": "c"
  },
  "r913": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "462",
   "Subsection": "d"
  },
  "r914": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "462",
   "Subsection": "e"
  },
  "r915": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "486",
   "Subsection": "a"
  },
  "r916": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "486",
   "Subsection": "b"
  },
  "r917": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "7A",
   "Section": "B",
   "Subsection": "2"
  },
  "r918": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Section": "8",
   "Subsection": "c"
  },
  "r919": {
   "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"
  },
  "r920": {
   "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"
  },
  "r921": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18"
  },
  "r922": {
   "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/2147477351/944-825-50-1B"
  },
  "r923": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r924": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Topic": "321",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/321/tableOfContent"
  },
  "r925": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Topic": "325",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/325/tableOfContent"
  },
  "r926": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "a",
   "Publisher": "SEC"
  },
  "r927": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "b",
   "Subparagraph": "(1)",
   "Publisher": "SEC"
  },
  "r928": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "b",
   "Subparagraph": "(2)",
   "Publisher": "SEC"
  },
  "r929": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "b",
   "Subparagraph": "(3)",
   "Publisher": "SEC"
  },
  "r930": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "c",
   "Subparagraph": "(2)(i)",
   "Publisher": "SEC"
  },
  "r931": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "c",
   "Subparagraph": "(2)(ii)",
   "Publisher": "SEC"
  },
  "r932": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "c",
   "Subparagraph": "(2)(iii)",
   "Publisher": "SEC"
  },
  "r933": {
   "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(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r934": {
   "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(3)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r935": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r936": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r937": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r938": {
   "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"
  },
  "r939": {
   "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"
  },
  "r940": {
   "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"
  },
  "r941": {
   "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"
  },
  "r942": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(7)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r943": {
   "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"
  },
  "r944": {
   "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"
  },
  "r945": {
   "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(h)(1)(Note 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r946": {
   "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(h)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r947": {
   "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"
  },
  "r948": {
   "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"
  },
  "r949": {
   "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"
  },
  "r950": {
   "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"
  },
  "r951": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6"
  },
  "r952": {
   "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"
  },
  "r953": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1"
  },
  "r954": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r955": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r956": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(ee)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r957": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r958": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-13"
  },
  "r959": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-2"
  },
  "r960": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2"
  },
  "r961": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2"
  },
  "r962": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481569/310-20-50-1"
  },
  "r963": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/320/tableOfContent"
  },
  "r964": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481830/320-10-45-11"
  },
  "r965": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r966": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r967": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r968": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r969": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r970": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r971": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r972": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r973": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r974": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r975": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r976": {
   "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"
  },
  "r977": {
   "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"
  },
  "r978": {
   "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"
  },
  "r979": {
   "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"
  },
  "r980": {
   "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"
  },
  "r981": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1"
  },
  "r982": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r983": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r984": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r985": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r986": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r987": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r988": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r989": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/405-30/tableOfContent"
  },
  "r990": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "410",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481931/410-30-50-10"
  },
  "r991": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/450/tableOfContent"
  },
  "r992": {
   "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"
  },
  "r993": {
   "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"
  },
  "r994": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r995": {
   "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"
  },
  "r996": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r997": {
   "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"
  },
  "r998": {
   "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"
  },
  "r999": {
   "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"
  },
  "r1000": {
   "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"
  },
  "r1001": {
   "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"
  },
  "r1002": {
   "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"
  },
  "r1003": {
   "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"
  },
  "r1004": {
   "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"
  },
  "r1005": {
   "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"
  },
  "r1006": {
   "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"
  },
  "r1007": {
   "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"
  },
  "r1008": {
   "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"
  },
  "r1009": {
   "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"
  },
  "r1010": {
   "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"
  },
  "r1011": {
   "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"
  },
  "r1012": {
   "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"
  },
  "r1013": {
   "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"
  },
  "r1014": {
   "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"
  },
  "r1015": {
   "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"
  },
  "r1016": {
   "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"
  },
  "r1017": {
   "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"
  },
  "r1018": {
   "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"
  },
  "r1019": {
   "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"
  },
  "r1020": {
   "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"
  },
  "r1021": {
   "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"
  },
  "r1022": {
   "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"
  },
  "r1023": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1024": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12"
  },
  "r1025": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12"
  },
  "r1026": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r1027": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-2"
  },
  "r1028": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-6"
  },
  "r1029": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r1030": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1031": {
   "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"
  },
  "r1032": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "54B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482134/820-10-35-54B"
  },
  "r1033": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1034": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1035": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1036": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2E"
  },
  "r1037": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A"
  },
  "r1038": {
   "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"
  },
  "r1039": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-2"
  },
  "r1040": {
   "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"
  },
  "r1041": {
   "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"
  },
  "r1042": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1043": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1044": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1045": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1046": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1047": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1048": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "942",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477268/942-320-50-2"
  },
  "r1049": {
   "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)(15)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r1050": {
   "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)(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r1051": {
   "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"
  },
  "r1052": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B"
  },
  "r1053": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B"
  },
  "r1054": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4D"
  },
  "r1055": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4G",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4G"
  },
  "r1056": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r1057": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r1058": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r1059": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r1060": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1061": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1062": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1063": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1064": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1065": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1066": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1067": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1068": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r1069": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r1070": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r1071": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r1072": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r1073": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r1074": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r1075": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r1076": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r1077": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2"
  },
  "r1078": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2"
  },
  "r1079": {
   "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/2147478009/946-205-45-4"
  },
  "r1080": {
   "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/2147479170/946-210-S99-1"
  },
  "r1081": {
   "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/2147479134/946-220-S99-3"
  },
  "r1082": {
   "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/2147479134/946-220-S99-3"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>88
<FILENAME>0001174947-24-001099-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001174947-24-001099-xbrl.zip
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
M.O#!R>69W:M6:Q^PQ0Q1ZO"R!_<U_MRF@  ) LL@?T1EX6A?LPUU,G)/W7$
M+#%@IT\_]7S.9N6BKU+Z98AL93Q)*UN'@]1[**@2)6)R0I?D2SH>DV@D"Y[P
MW\@L2@XS&&@&6KFHV&<I!EZ\*?Y!?P@E*"]&.JLP!F8L+J%8[LCS^1_T)\O@
MW-C1"Z;#$ 9L6O$WAAA>1KL3>5Y?3([]Y_DER)\8H[<L\#%&$P1NS.:A>4_8
M.HZEYRP1I=;A$;W[^0BE?C@-\13"]^*)-^N'8 7R),Q?@&!T,=W4PRA4(-0#
M8SARP5#B"=4SZ#^GW]O3L(^9T_3PCI^*6$37'CM:B<:FAB%U ]Q!:YZAG:=E
M=$>-J^:3_2))A\2DAE[A^I92&++GL2^0#WI!/])3G%$@+_?4W+K(49/"_%SD
M9_51S;B&DJ!4> 0F ^^.R97C6%/A!NQNEOGMRM/!S"L8C@ $25W?."]F1 C/
M,KGAWN$IFF'"O8B9.NAY1I>%E]C$SW@RY0+A$5KQ#5Q9CD4KC3'H%^$JE:M&
M+GB4XK1Q=3 =/H-3@;H'+\B15X)<'KZ1([9/22_V) 2MKV+/8TIRVIQE*G-
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
M (EQ@@SI\VLL1<0PM% ]TI)B+F1 -;7F4T9_C57!N9%,(Z3EJ0AOILQ=,21
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
MB3>SSWTWX _:;_';R"OUZL?CR[-S^F?MXVY7))FG/Y5T(OJ#R%'Q2]7%E+(
M!0?78QT=5R'-A4+"(U9;I8C;:3)R.7O22L@Y%PMN^91,<HFK+E%PKC.W+"L]
MDUD7E' 6Q/P"HOCS]5P6R9]7?E29%P^!#3M0$[<8(2,1'D<FK>@HGV34?K5Y
M<O>[9!\(VMF03Q88+Q'[E&7S 83$3>3.5K+_M&>RL7?'IXHW^%2KU0:G)^'&
MQON+\J7$<-\%JH#1\ P+R_!%6#2>BV*OYSUX'5NEA0W7-!8_1#3PXLU14 W
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
MS('IW.&C<PI+!_H^E_*TL'8&XU)59IQ+SA9M6<B 98 1&_;BJ%0\\U7X'9?
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
M@31O:^^D$X%$C,+L<5-V??)H<+D>EC=WN!JX.&,=*SIC%Q76=RVR01A7!':
M[U-]/1 *LE*VAUI?J H/_P":#\=&\FJV*'F6EFQ#EB3J)Y1^;G,/D%O3I6&%
MP1WR$?ME!HQLO9F$OF"1*/5#^+0CNVBJ^:BZN<43(E90G5XHHU0&W-5D8C6;
M)1] X1R8DFMQ<\*L&JR"GKXZ6?!D5=OZ!__-PI;YX$2!7^TCJG5UD16$.=(%
M+8$-SO%JDHV'_J+>)OIWO[WO/U\[+[ ^9&-<]B.=DN..*TJU%DZ593*FQOGR
M'A/CA?FJP#-CE3=RE>IW7LS)ID-,0\7"8&;/(@YVWV;%*'6Q,JQ@CPQE*7)F
MU<SP?M42@4[R(/>,8_M@54:.JM:0-=$EXRM7]U(=<_RT*DC!HV,OI%A5' ?+
MC&$B^?+0VBE#II.\MF%,6616M4G!2YD_-]='FJN "D0PJEJSN>\7M 'OBUO2
M@T '@%M["H]/=K?(Q%5&5J7+8+\8)JR;Y,K%CRPW@XH#TQFM$+"]-O=/R!IL
MY5F&P:A:[W*U3QOO"XF.\*:"&9_&%#)-@+]B],^T,E5NH(MV&XN0YT)ZI_1]
ML]@8VJ-EJ.(.?!<JKJ?&FISTD&B]E6U[9AC*@;!RS25XH2#+,3';J /EC<QO
MQ7$ZG:FVS\""J*$Z&:,;\82!%PW2J6XFX 5+5EJQ_D+_MVN4>,]/4S4DCXPC
M1#OLQ;I,/)7"D6.SPV3D\R>H0'-.J=%]QNS/6;FLJ0N[DH#DL#32)9>RP5G0
M4B<@KZW2(KQ +TK>N4N9$&YKV=_9D]$AI:)GFKA:HV7R$EW[A3>Q(R]9K6UQ
M81P@S%BZPUS& 6A6VEEI<#@<*L<5[VC"NI;<)\-ZS)0[TY:E,YZ93$QE;0NR
M\ TXZ8<]HNISI,.IGK]Y?UFQ774UR7H>&):LG"'QE+02&5J,F#88:,O2Z%\;
MJ*E21_Q2,;*)_G3 !5S_\S]Z[4[OHRRKNA+.B5XTU[T_<J>>?_OA[I63_YW]
MN63G+WIT.95+:T^6*7_).9"S_KFO#Y69-6XK4Y!DJI74@;2Z0XVBY?6!&H.Q
M^.6@K)(?GIX?T!,EAG=I,G:FR6#%LC36'C'@$EE&=XXS#*7ZPT^QMYW[]C9<
M:2.O)&H^D54>\1#I3K$NMB=S!SKNR[7-;+,N"I[1CR6EUZ0T$&\BD(*D[1A4
MSAA:!YO@D8$*\9:47H72%P0J5V7!24GF(HJR>F)HF)DE15>AZ''>T9YYQ+6H
M(+ ^R/5 \K%()N$P],,Q@ZO,:YUP#//R&^OH#\N]6&$OSC,U'V,3"7"VS.R2
MV1296N6%$;<)S'0ETJDPE8+--%#/0RS!CPI\WW/CO RRT*22.OVFX>OTWYH7
MO Y3:W- V??Q^[4A[AB,S@'<>WL'7R+,O_OF_O &W^VC\T,8\+QR5)D'O6\7
MBECA2[%XO: >BOF*>,K4C[%^LUVOUIHOB?E[P)?7W?FOTG%K['ZWBK#!=#1R
M_="A@?\91M^?8]\O$84Y[8O(KG<8)OKBY_$NY$J]K&(QAV&IE1B6S3<UVNQ
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
M1U*P23I#NUYS.NT7QAZL51Q_N^[LUS_#S;O$C\+IU$NX!3FZQ=%S V^)8(#
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
MUUC76-=8UUC76*] *QV<I5;:K5UW&EVK-:AZ#(XFWXLFWXH&<AQ(O3V@WO;
M:K9[YT>].M5'N^)U6$3C0N-"XT+C0N-"XT+C0N-"XT+C0N/B0G#QK%-]6O4N
M^HG>V)[MCYEI1YCM\W]SGYGMAF6V&JU.M5XJL7YE=)SK2J)%32>8CSQV+%+?
M<2.%G*W#0X:/*\5E?.#XYWD<Q;:/Z,EU2^6T4^G7KEM6O]VVAMW!D7U3!+I3
M^5;/DFK_=F$$NX=_]3[P8$_1^[_F;KPHY#L=8#EDH].V6L-CIZ1H"KT\"FT?
M&@'8G4)QV L(4+AN.RTM1#6);B71YK%)M-^H7?>L;J>CJ5-3YS;J;!V=.IL@
M0'M6 XRK_K#JE@>:1)^([=1NG]AVZK=JU^UAUQHVCQW5US1[EF)U<SN9]@%]
MTC;+U0@V\3^UJPT"MEV[[EJ#3LL:#LY&02VU@YHFT]+(M',Z,L72$VO0&UB-
M8=5CCS29GCN9;J;2H^NHF(#:M%I],/3[K7,ASKP@R,^Q#2"]_L5Q'ZX-XY>?
M\=]?9MF-81QBV\ZF=GCGPDKXU4:ZU*ST-W^[9Z8]QM'BMK^ 8P,88G@<U"W3
M]DT7L'X7VAX )8PQM!'#UR>N;_MC%SX%G2UF-+*MKNQ-;NX_KJ[,#R[SG%?F
M%_L.Z.R6_35G/L*ZV7MM4FHG_&A>78DGB??XL_ ?>32^X:LXF+TR>X@)\8'$
M#WV63^4RY;6V%Z14C(_AD"Q,UJ;--'(VTT!YHIY<GOFU^6TQ@^/>A/;(';\V
M/P%;<+A\"A "S:[ZU,_R,?R3@OP$..N -0J9_?UJQ( EX?4S GL! .X'((64
M:MMWJ1X/SYWBO41R?A_-V,+\?7)7-__+G@(WO_?8. X#WQU'YML@G-6K8*+;
MA ^01[#7H/G!"QZC#6OE$FR#Q'(F2WN/W?R3V6%DOO<=YF1#D<#1#O[0K@(&
MZT04"43@'\\3@I4D/?Z.<E?^GH7*./ \>Q8!!<N?0%:[3GR/.VO\M#ML1 38
MGL=!\A'==.*SVE($.S\PO1IT+AQ@7HU.K[,7"]<A &A@$5#J6K6-FL+*[;ZM
M0*!VG1>WWK:O\SM">^<CK*8RE)FA<!"QI$+%G(3!U/P\8Z$=XX5] TK0@QN[
M+'HE#UPNL)?1O.'7BA<KCI]*656#]W#R;W$$<*'>1YF^K&#G8^(3BT$K!7UU
M==",N"!^VFS0R6\5,[W$MUL_[6XE'1 *A4-^I#/^%D11(0.I1SZF9M=J=K;[
M\'-)92-@UK@VSPSBW6-"O(_NDEZ_;S7;VS,C#H-X>6*/<UTQ3E,&<IMQ8(8,
M8#UV09?S$Q;$S_&W,5Y.LS# OMN..5J807([V05O)S6+KP#I%<Y\W"NY]-QW
M>'Q!78QDR+MS-;(CAE=4.J&]8KA65I.:.VZ^D'08%)\@?TX46I5X/0"2F-_3
M0BF[W>]7*2?MP"=+7/&.S4!XNI?,">H1BF!MT*A==[IMJ]OL:_K?!WY-@-^@
M8PU;>VISEWE_4'=,]>(PV0_\F5THVZQO7( G547A>W[.0K31*M[/X#GP5C5
M;H-ZW^M:O4XE0#Z-1O^.35@8@FXFM7?[ASEB/INX<<6XKV[6CS@2-]Z^V3\$
MCM_P8^T4 1]T*-F]C8D:>YIT&R+8)X'L05=6B9"E!D)6HU&:#K=V4M)Y7&3H
M13!?W-FN_Q*'/CMN- LBV\/H$)C)8!S'"\N<@8B**2;#_IJ[,[2T+_2>^Q4.
MBD?^[-\"37R>?!%G1"$<OY>'VXUDT*-5(!_UG&ZXRGAQ=_BN!2N5G'4;I0%V
M9T;<WXZZ+!_-^>_P7(7GVWO;OV,1:"FF'44LCDA&>JX]<CWM23P5#6S#<'<'
M#(-.$3([8HCB.+0=GH(T1T\SF,G,?<"<@4M52>7AWC'^[T?_1ASN:W*V0J)Z
M4+L>#!I6J[$]:_BI*Z.EP92\B5:S=) >4Y;NPFD28.8+5X#P)3*=8@ >C>&.
MQV^)R<+6D,=6[7/8 /,?K/_>9;E8CLA_6V&\%K3-LD%;N@I:"H,]P+>"T$WG
M_#P!MDK.M!LSM6K7O4[7ZA9(W7ZVW)0+VK40I2G5[=:PS+#89=YDLY#-;->1
M@0)N*P3Q/0O-\3P,&7I8R(AX,FSXA9]8^N>$6^[&=S[CJ6_HL+OQ)_=[=N%_
M_>T-OI\IA^X*];7 [F+>4&LPM/J-TG(#3GH#)L;<"X<IC)E8=#-[\:2T2VEY
M?.'G*H3T'GG=0"H.VI>5$'("BRX'KMM%6!]LY5[/&EQTA&%?%PJP6CAG\%+;
MLU&%H#OPT;Y[0KKG#3_BK3AA(:8;@*3M6YWF9=UI1V6XG6&*_I->V^KV2@N0
MGMX;^>*=<F^E7/5@CWD."K&7[5V:/Y)%>4C_NSC5#3_4#E*VWV@T0%'L=ZQ&
M@59&9^*1+)N;=@;J6E@V 9:@#Y3GB3Q5:*<$79';:_(:DZ;<D[F\N(G 3_=;
M&L8J1"8M+&4; IU<UBUV1+VQ '2W2[8V@KD#8"XM7_6D-MF:*PU,L3#P/,5'
M$J,#UWQTX_M[YCF7?,4YJ:G.3REM<_)1_T.<<#>JZ-2NAU9S4':RQ$7>=KO#
M=RU8NW#U-:Q^]^)SF_<UV! O>&0UJ>')W'9OQ>&0)-[.(P U"Z5<+M#M!>BC
M!VS7:UK=06EJYA.SW X'<;]VW;%ZP[[5[E4"Y.JOO?7#]HKIG&D(G$6T@R4_
MY?)NBLZ%W#9\L2B![?*>4[ECE"!P86\H$!\6Q[4:5F]?9>N@*:$7A,_C.E^W
M(W2[PC2L77<[5K^UIQ>V(&)/X)H='"J%/A4MDSX^O:[4X)^1Z &P8>>3+P)H
M;Q9_1$BE2?>3M/E)$<G3;)#FV1UVK=:^*=!G+GPJ1^9A31;*1&:3&E8.A]:@
M?SQ<EMV")D]67%8*\?GO\/AMG8J9A,L]G3 +*-JII],9 ?G\=WBJ-BJ.BQ*)
MFJB<LOBKLH1WT!2I2\RWX&8,9PE9ICSIQG=VJ% "L=["5D;-7@?^5YK/^V(3
MWTN&+;8B;[:L1H&F^>>;)K$+]P&XQHPY0L#>A<1TCW98M:N["D^W/,L'.,JO
M>)(;/$@AO'?0W=-J#?8WS4[E4U-ZVUY%;'SE_KBZ=QW \2N3_WLU@6-<#?"=
M@U:S]5JT';W4ZR)+L!%@]JD6#:ODG%/6NK-LPZA"-2&%B_,8EPW:7LE%PY=0
MA?IE'H[OT6T,[.>28H[@,D$&S<-C!&R.IZY]3$Y7S.[NT\"H#D[=*R]"\W0T
MM%W!B2,VN]:P@6I9V>"L_@XK[ !=O=A^!A C+RVVLM@%^NZ/=6N"+/]=@/'S
MY.;!=CWTVG\(0OSC;0+)0I0X!$H<6EWX7^.)>D>/@]X2;^X2T=MJU*[[%A;B
M]5I[%B%4ZB\]IR#-/*(N64(JG3I <Z2 8OEAFL2AF>_9WQI/;#619 >=AM7J
M5QLK7ADT]62P6GZ\YF"LMFK7 ZO?0Z7G*%C5,9NG[*P_;<SF Q^&I6,VIR:#
M4AMENBCP? >+5UW'))&*$VOAS<'X^Z4;_I\GR?F40;R%5$CJ.]#K#ZS&OB'W
M)VCY'P!/],L/AE:K=\G]B$IV#; ?+!R[W/%&_&8&,PJ@7K"*=@QOP%<V$R[+
MSY.BHS6!!+NUZVZK9[5[U>;L7;[%7S 2-=PG$G721*3RS>9)HA1ILWD/ RO1
M*?<UL'IX33>[3:N_;WFI-IO/#ZO] Y6%\\VNUF;UY=E3NQC-:TIPZ,[ 5 ;Z
M ?,9'H ;_(OMU85<C_][GY[D*XOBT!W'S,$_W/A.]@/EFU]8Z ;.<F7&^Q]C
M;XY0AQ^H+?)7.V;O)Q,V+A2Y;PW(8&NTK=:%M4&I3#J?#DG;)3R6SUCM+ORO
MO'+_TXKS_13*M^L$@V6.V)WK^ZA:BFGT"V:'%ZR%;"3SSHG(O(AH:3<P*:C?
M&5C][I[$^FQ,QTTX;K;.&<E-#-4T@?<;O0NOL=DHB5KU[AZRB&$;C>)2B!;9
MG4;I,=,)YB./[5_QM?XM18BT?<XTBO/0X-9L6L.RZL!4<MA#%%TPHL_ZQFF7
M?N,40K2VA,_(+KAP2_AV/IMY#,-&MF?>CN^9,^<9_DE<V?SH<Z8#HM:!Y(O,
M)]@EU/Q1:4-"T>;] +IR-QS1[9%I&N$ZGU@AUT2[@]*\U1U8P_+J_ ZAR8-!
M>%A#CGU V.5^_B%V-*BR-N/G&+-.*01V;1@BKC63+YX$OI""YC=W"F3\B3V:
M7X.I[5O\ \N\9:$[>6U.[1"L]U<F?K61+C4K_<W?[OE(J>G,]A?H+/"#&/LB
MA_ Q9G7&["X$ 3RSPUAJ\")F!9]&L1V3B([J5>QMY=3RU?]Q=65^<)GGO#*_
MV'>@O-V"M<%\1%>S_]K\N^W-\4?SZDH\223-GU6"DWRYJSB8O3)[*(C$!U+G
MH<_R54=IQ=;V.J=*2V, 'PN3M6DSC9S-D Q43R[/_-K\MIC!<6]">^2.7YN?
M@%\X7#X%"(%F3WWJ9_D8_DD!< *<=< :A<S^?C5BP*OP^AF!O0  ]P.00@BU
M[;M4CX?G3O%>(C&^CV9L8?X^N:N;_V5/02"\]]@X#@/?'4?FVR"<;6*!7")J
MD/TAG"%[[^L7D%-^1A"#Y Q"KA4!-_NL=OT)>=J( YF#AQI5PKH 17S%]5$X
M6+R9"^!/\RD\-5ZY7AD(]!F>)IRSE9 AYOBSSQ/1"B7PHU3.=YI8VGCPMOE_
MZ_VNZV=9]<]Y%+N3Q;)ZPK_*H6PVZR;?H@'2,MTD@@!.?ZJMI7@H81.Y*Q=A
M$/,%7A]O^5WSTG#AFH$W^W/,!@&(A7C!L.2AM&R79TO,0M '0M=;8$!LB@W\
M['!!_B8X[ARM92!K&XP&E[>8CNHF7F[P&%#\#/X&3W_'&9D@P4QE(_\=&;,P
M<.;CF%][_"[$X0#QO1W++E3JQB(P30*X#X&A@*/O"VT&+MD01QWCPG^ E@('
M(A;D(PALE -39N!]&_KT!#SO!?(D7/AEN*9D7EV#U/T8&']W_3ES;D"I^]<M
MO-*= "#\6$RN #WC"XB],0#Y&SSW!@[Z_6K<^!<^]Z_F9@%0[&VJ4, L^A)D
M&;%WJV[>SJ=31#80J[(7,]V,*7=3$K\ML>\NH/_*'AC\@DEO>9TP::.+G5&P
MVULSJ"A#/J\A5;&K/%:I3N@M8T: WTYLGH-QT>+PVQ^5E0$<I>O4_C.0A:G!
M/*1J52Y&[YB/EQ_(.<I5E3+2D!U]10ZKPR;8PCZ5NA:)R'<,+0X2_O#F=_Q+
MEFQ_#^]&_I(&R5WP %)3?CE?PJ+:"MM7OAM9AKP)'(819_J> V#V G[MP.\_
MPS>4*TITF*#+ B1!<E@P9(/E$RL7@7K)\?LG<@$@-OS+P@=WS**Z\0^67#4(
MR/1*HDWE[D\^#&8O:)=@E_U@SA7<=V.6]$V&7?ZQ_H_F(VS]+F2,.BZQ$.UP
M P$"5_D8!!L<Y3$(O]..;1P@![HE7%!3U^?W\9C!'1L0"(% "/YSG$X0S^'0
MXR""%1Y05!(\Z%M .E/"R7P&# *&]OB>_L W]FA'IL_N@MA%,%H&;._1];P$
MLN8T0!R$8(##50H@FK@Q_@J2U\.;=XRKP[49*3>FRI&5"8(EO:NU%->H3CJT
M#Y,.9=R,:Z3#/Y)1U8)\DE;>V$,??Q=[,^T)T)0!F+P'](\8\U%Q E;@G3]M
MCWL?2"'CM&:'(>:.( ]P:4$^IT0<R&\C8V*Q04R4;&';8F(;I.#5O^*3<HL&
M[@0+63"_'OT<\U$4@^$$$HCBFX&'RB B$3/O^1^!9CV/;U?LPY[2Z6'3*9WC
M>B MB:I'XE>/IP(SD1*3Z*=W0>!$1I *":Z0RF=AIW[$9^Q)P"0@=8D[1NB+
MJIN(B2A"CF$V;"/! [S+C7%X_)A1V0"^)>%OV#,C80MXB>Z1OXP12>D1,3_A
M4 R/3$7-/^X!>5/[.RI!\3UL0KZ.*-Y"<0/?CEP22/!( -(PFL.> -QRO?@Q
M0)8F3E<%%?R:B@:#VOK\8.,YBEN;A(#/; ZWR$8W,1"LA1\O/2FH#S ']P#1
MEI BHS\1I0_LN4B.SF&2HUVIY& /MC='@<_O!G$5JJP 'TY=, L-Y)P5LMY,
MTBJK"^)&AA+BBCE<8$4@CQXH?<IG"46*2Q)E 9 ,;%P8:(9J"OPY=^Y(T@ '
MA(Q:G1"'RYW@2]>]"+DUW3'NE/A<>-'Y-8G;RYYYA&,G8*.&.!JQ&">61T9C
M@L8DB/@(\U3$Y()VQ&B#LOLR5RY4F''#>OV^C/S#(3CD1C/: #K>@:%M#R$=
M,<_CZ^,KI4CG^U2VR;?ED<N:8)&_9MWXMKS-")='/265+B#"_Q00PM4^,(2>
M9U*;FHAZ4II?V=W<$Z;\BP\W7U_2!1(O9A@8 [F?'"P]%%> 9MX<+AL#TQ_!
MJ >!+"4.9X4CBYLMDN40B="I5"( Y0; 8?_&GVA[YCSBUPSJR_%L#@ %[@X<
MC@E#D!AJ$K8+5@E24LBBN8<J]?C>9:A>X"T">CB@#"@/>=7&.#-2&0:2\/KR
M@%N0>Q/T2J)!#3>Z%_XITB@LA1KP+S/8GC$+7#\^.8X+^POD=.W%GIZ!=<^K
M/H!.HSI"2=8_6R_ 5@A+>[\ *JISI=B/)LHP-%ZYIHSW,=>TD*N\X)%[:U'$
M&2]L5*7N&/WVDJMB,3*3Y_Z;!!X]7#??V!Y*9V$ PSNNI@%=L#1D:Q0%'MQ[
MU$B&SDWK K.[[)&SG@V_H1 .D1OQ+D&'J^TM_DUW@!2[AL/@U*#0IR^"9^_I
M(^Z=\-"$!H!P?S#B1_0=MI1Q7VZ:6T*?@A"8C]7=C>1IE"L-/=JX(]C=R7G^
M$!IL%Z7!"NW'9&T O<='/\#UG-[9--$^&*-9 _@QR$^A?.9&"LTB82)!B.(#
M87LLR :X9[9P'0A#R@$JJIORYA.W.'^6)5QAH<XPSGS',CU[%(06V29@8,!%
M(/SWY!R32]%W0<U;VF_(9G ]43PNFB'E\QL(WX7V;)0A30D9-V9HR8Z%BAE(
MMQ$=Q$@U)7S3#%DIF$=X.P4>?1D..V4,_5RQBR$24GWGW,^%\4K8)I7F17@&
M9%KTK'#]2<%#!$!Q2+D66MT/-XHIPDS&,:B#XK$1P]2-U#+EO5F);]%.Y03,
M0S8%%A48<=9/Q91JIHCS4*UQ_W5D",Z%2QH.KRS+,6W'<>B.R*X$^"SK 5P9
M3C>"F%JCTZI2$4&!QB9_'=?'051A (DE.!-;,=^R,+9=?VD5^1#NBIQM:+,L
M0':96VYX);D&J[%?.?,0F,4!6E-;)DMZ?T^O_@8*329_IE>[CA^9]X N.#^^
MCY;OUO,2=\6$5X4F[+>4$@3_QT$L?*)<($UG<-OQOQF*;\S-&",^0A=X%KVH
M+C()DOU#X-&MF94^"C.1RSMQEGG,OT-?S81<(ER&TN(L:]-Q@/X*=,ZMR"@Q
M:%,S3#F2D%O"NRXM7F25: S\@_0_ IEGH?\(O5' Q"[R/+FPI!0%6>2XDPEP
M%GK;R5U&7KR$040X@7QNF=..I=&.=D%(8F"BOBN*YE/>"X,[@#"";"E:/'G:
MZ!(9N^%X/N7NO0@OB34G%0!"%Q<BC+OJR&TG^)+OE2X=%*Y9.]!4G&&)MU&\
M X7_Q.,OP0WA301GF%$%'1BW(3H,A$)1:DK&"KMN#C%G?MF4@C70B5>4>-6_
MZ,2K'9*>SBK/R2R2YY3L6.8C$RAY?OJN6UPE'8I'9#_B^<XKZ<[)C;%[=H$%
M%__U6ZG8 ^M>[Y<BEV9T;# 9=LSAD$;LSJD?.V66@-[R+ZFW*/.L=_1=J-K/
M^K>H'HQ>OQ3F2DR,W]39MF?CM\#S[@SARC2J!%C*(.#$*K.=!U)31(0O(A,,
MOH6.Y$C$UM#((A\@]QXF_D3GY*IK8>_<.[010:KA_N!GKD#>^,[-- AC]]_T
M^9Z.NSU>K7)$OT)=6MW:&;%'>:B1PO(P]!X%_I3_LCI7!758M"K0:C;(4Q<!
ML^(E>.5A&(O[Z] %LF0C@UH^F7LF6M=)^!YCU;%4MT_-FQ6AO%T"RBOTO>UZ
M"<ORO,^3]Q*U?Q!F?T/$?I[(8X(!>$/8_88_[G1#'[A$QIG11\5V'0DZZ8L$
M*:+[Q;#1;>UA-]M7*U;2.=&HO+7+0\FJ:G@PZ>)M08528(1YGE#!J8 +?\?"
M*_G[S@!\=)WX'COU_918D)BN8\\B,)[D3TM:N3V/@V7=G3ZK;2F$!,5_ORI(
ML<LN[C(7QV_FKN>0]D(YY5/*AY)F3$Z1WKH79JOQ<AD:V"'/1XA]&G*::.;/
M1I*D-6$91L.>2HUE=C')$=M\O=%O"8]6M2EL';2Z*7QS5+0 EO"^BM5<3/Z.
MT6:?B>J ["BR32\H@KEA54#"&&U[+\1U\CW.9>P)1%&K#,3MP["YJ/TP#WV7
MPB6480S'A9^C,C +9ZT*BJ V]/?#;*NR/;5SY40.9F5Y;;[G,GO_GK+N(JE2
MWCN/(O]YU>8:5EA+(6KMJ<SZ;&VNK4!.4RFV8J/22) (0$H%4F:T\1@G*9VI
M<\RXI52XT$'_JD.^,SKZ"V315N/US>U;^JGY^J7Y+9@!)?8[C:MFPS)KBH\0
MXZ8J#NNULU-2BZ"O,JS\D>0T+N'A]FT"3ZQ,X3D!]@]#6@(@YU4'%$]1D9ZD
M)*U2!-'A04K&%([_-+9,JB^F&HB %<^ZC!^9"*'G5-B;8SL,,=O1R,3)7#%S
M:<WVX'=XGQMBZMN,YS?3KC 0)DWL=\HYU[X(3C-E=C2G&#@FWAG,MWDX&IX*
M*>:H1JBQ]'%!(4C[!YW6Y=0HPFLDVO$7F1D?1+ Q-IT%(3J_5;@LQ[Y%S(^'
MXX/0@/UB!KT2QV?43Q+#?"H*V>JI,"BO1/+2DU!(+L$J91CS()S<OXC-43!3
M."$C@^?W U0(7Y1&<FJN*WQAB:Y3RTT\][N]"KU,N<I ]:K0<2R[TM$/[]76
MN6=SKY$\W!4%U4-LN8\?SRSGV2RR([$Q#7RVD+ET$U"J1=VUO/1D-GI$"3#W
MH/N"8/!<>*NCC+*,1$4)Z,:N3Q5SL1C8Q]V"6*/&,T^2\B\N"Y;W>"9^PYTR
M;CD(#DBYS7V!RF#-BG-NQ3S26V4>Z=DPUZ[P5A-PMV'F*&JCJ$OA>;.\8BME
M&RHK&<5&.@H6/\)'0H=B8L17J->T6ZC77+6ZEBEUR:S"*//./F9?_PY>3^*
MCTI1D%P7FB@'O_*8(7:E#*C%K*?_F_O,;(-JU6JT.O1*_*DMQ0JC'J'3N>_R
M?@VC .=*D0X3DNZQH)A>I%SUB9#Q0''!0KX,<'*W ?\OAX->P:FO,&T'BV1Y
MOC+LX3X@SYMY![ 0.@-E(%J4UDPA1,^6F@_7-2Q*3UYY[?+B!M=E1-XB'^$C
M%0M*&B5M$EM+8/H4=L>(L P:ZZ PN@*"EE<XTZP?W"9(59'52"(0D(/H]$QY
M%@&IK_)H="0C/1*A?1E""2R=?&#QRDDE^W+E#$J1<%JD(4J*QTG1)3=L#%ZU
M49<T!$^R*$[4Q8PB1BFFN%IRL@\VZ+:4<K64BOG7/$ @BFM)U/TD9\&#B6B3
M2 8U*!F4E#8K.0=FE5+:37*)(4S,WS!_W&R:O$8-BXQ.?=OD)S]N$W/5*1#H
M=2,$)R&5(,+Z7N9Q&TD988WBR<!RS*6;?V'> 17'9*79?E8#H"XM8 ZY/+O;
MYA$'F6G'L_53+HKNX<<KI,B,X!3YNIEDX*AN4&7;8D8IC^,UYR"U7\DL%N_E
MDA>K38-8I9AE!N,YQ&F*DB*&$^/?>!/ /^:+VH>;VS>UE[G?V>X@ )%O9<3Y
M%9?FB@@_->D65I20U:FQV^=) KJ/?@0JT335DXLJ385>EE&@AM6Q"PFQO_.\
MT8E"%\J&SE:=V@TK4K7:%9>5@7XOMC(&K0;F,,!-XH+8P'MZDMQ#8.&PT ['
M]POAVQ %P'@[RNI_K+NP?[A3K&9$,3+G(_R"$59L"&_);"[<,%@OO/S-N9]^
MUQ#?I<N1^VAXB8O<D:(N1>*,299V) 0K+XG"5XNWB33M!9I8U'V+:D7( :2\
M^E4I.<G;6T\5</?OF:H\U*G*E*H\T*G*9Y^JO%]><O-B$Y.K24UN[Y>:W,K)
M@SGD*FSO=156F?-%%/=?_SGLMWJO!?UQWM_OOV0E&<U7YO_CIIBPP5[,?=O!
M19GSDML"9 Z.L5TBCSV@?R^3X\M'8[*D?V.B?HOK%)OU4.(@/4/7JSWFA:'2
MS#/$W74^GOG2"*FS%R%5F*];#2&U7F7$#J_X7-68 M'@!>2O--,%X<D^0W]E
MR%'MQ99+?Z^S#Z!+*4.'TM[C-/H:GY95NJDBA5]2]HH=RV"#U$\I#(-1P+O&
MC1;JEX3K HC5?CK$VMV+6"N,#E5#K.TLL:KJ>H8N1-T?=39 AP4U,B"A)HN5
MS>#1SU0SVJ-@'LL\Z>13H:YS9Q>V/T,/*GI 'ZE.$LT&E[>_X?T6.*VKI+XX
M+R+;@THJ3(>AZG 1?U?K5-,XO9MNRS+21@-KYW9:W"UE+KFE%#>1E?K]>=<F
MI![EPYF]2(KHERO?+=Y![X?HB*%8I_Q&7'7$DQ]^Q,:VL#"1P-SIE#G8-(W:
M+J5>M,1#Q[\7L7PX7%HD[EMH.^S&=SZC^!8J8?0U ?UN#J9"+U,=3-T*R5>N
M;Z8;(*3?8#H2>3\I_!,"MF/S-XH,G)'#B43!KL@Y2F".MV&(S#&''.B=&)V3
M31A1=:6<$!^3)K'V?QYRYAIA5$0T+N$YZ3'U&W,CT>D4"^-1J4B:QU%B$8)
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
M^N63N9K;]>?<N9/CAY-\(NKYSPE"5NE% -5H(DJ]<8*QVO)C! MDC.6OLC:
MO#CH)5KS?6Z,T[LIYX;&&Z,;)RU?!&MX-H]%0:*16!QB((HD5]N-;(_S%"\N
MP)&1C!SCU #88T!%/BF4-HYU190B:6,E*SK0*5PBZV ECV"Q0G0OYC,C/#"5
M=S'#'BG>PL"_S"BD%+A^G#UY3M=]"Y>T13*P)&HSMK^S*(=%D.XR9)?6C&8!
M,L+F)0Z#30DVD.PC*T'PO:*;1;*JZ/:8>1/Z\KD_/.*& WK*/$9!Z;?B/<B=
M\OPJGQHK"W 3(@LBN:P4L6262"<\'^E(?CQN?RT!"K_LL3O "'%MTJ #7?/9
MKQJRF66DT#FV\Y'V[R.UJ,92VT>P.W"/F2 0]Y%@D\* IBC(B-[*=I*2H#0V
M="'"8=W]%\14GL-).&<H&^5WI26$1E)"F+#.,D_%^$JVK5U$YX"V-U+6%&D-
MT<69K&VKTVA;@W9[M;$%CY7R*V'+C@_H?;/3CG%B:]_J]QM6N]==W;'$3&1/
MDU+J; Q0-+;)X-;8CEMS%;>*%$VD:T'\'M#+9"=HM;#U1[O=LCJ#WD'H/:!_
MR4X;;M>N^]:@U;2&W4$A[!IYV*U.)%0N<I3[(,!"0!K9(S5AH+4K.J6X$0T0
MW7#KQ(LZYA;2'2D^X2'@B>P(MMPF86D@3Q3-0Q3J5S2F)'V%S&R;,KC:^*TB
M5R2OFG$WM_$W)BMFN,LK<)2K&@>XB="P'27:;J9WF!LE/D.,23GI(K(+63KY
M1&2:86@[!I4]-O(U*9[1FR:'/=BA*UR6BE9,U]:(<:5<KL#;K&'T2TP5(H4%
MP< [GZ;>-<HT7O&PD1X@F(@W;,CID"E+U5$5Y/<[5ZAXQ"3Q8;8;5[V&Z=@+
MM7#\,BE;&H>9+(4"?9\Z_?U%3YY;X#>9LE!('G5JUT.KT8$[LK7:.ZE XZ?.
MX)2[[]:N!U9CT(3;?56:&IL:MRZUA>+<Y(^Q*0I33>IL7_6(@L[ :AC?GJ=*
MJ?- ["GJ#87)1"E,8)DF8;?4EXVB*Z+F#R) ,EKDJ&&)IT7YS.)R"%L/KMVE
M2-Y)<EM%/W?E%LDVN]V"XL;!5^,Z#]9'&6FZ(6<'<[[9/PKAO5>[;EK-(=ZB
M.>W*MFDXV6H(/JJ%I#,%(40_3,<5A?RRSQ]1!PHRVS-X#"&IQ<1<W!'- 51"
M.DF#G.03WK@X$J,XL0P'I3#N\FE<Z$G,962/OWO!W6K?1=(>:2!S2G[ 2EM$
MS% EP*ON3A3XP<5<#LI/_0BH\^]<N"1Y0MPGEK:7ZVT@MCZ(R'X]1SJ"?NQ1
M*#A-C;12[3G)ED1!@9T74 E("K?2.<F4>DC.1^IPI23SO3)W@$NK$%BPQ\ ;
MCITO+,30C'W'/D^^IG[*Z)^P]&>?):"Y:BFPF<U#E@'.H';=6353?L*# <:[
MULF.\.TQ*'B$(=J(JT<P^!%Z)SP"SIDJ=H@>&+K-U5:5$@]][N,XQ4$*[A_,
MWN8JB_W$.^U2>@(6J*\F])UQ:&>IQB%I6+]["</JHVK(IU=AA@F%?#IU<^W
MX@MP?FULG9$S16#UVA)]LHSU\RVMW!F\E(R5'<3+\[&R"[2M[#C?[6L8&]=8
M&B:>-^=WZWA?81%2@B,9D&IM)]UB'A]6)!+1I?FV"TO@7,V4FF[D'CX$X2WL
MX!O^O#.O[/+.C !JB9$5H-E9F$X>14I+--X*+>=SV1H:LTG25/?EXNT1#GO_
MDUP&8SX&@OP0@@P2KRH'(>\=K% 'F<QV)".4KU9$8#DLLE..Z%ZHDSG->^+]
M^I>8>SB8Y\UL!^T&LA+P]VAFC^7OV1P)FA4PB]@K4_[TVGQTG?C^E3EL_+1[
MHH1HKF#/XV"Y!0-]5L-LA%_B4&X#FX*B42%E#\_9J(F<A=B1WP-^B]D5GH-A
MFL5C:,]2C,0.'-Y1?TT>AU-AN@7=V.M?E95_M-]-;Z]@L5^1=9[@6AN ^',<
M7@XQW,C>#T>"6SH]_JDNB*.8CD\7\JM"0B8Y8LU9EE@//^&:U,%FFCKX%B[3
M7?=U9D?X%2_^"S^#'$]TT8>@H68[GZ$HJ[TFGQ56$?H.J@Q!"!N[&[UH-3I6
MJSVP6MWNRU5V7$F/I"QY3+VO76<LB(TB1GV9V!3J&.N0L?4.*@SYO%7T#I_^
M#HLS1<X-Q%7GSN G$._Y=NK*#ODCS9_R9<;RM_)V_[=U[VS\E'OU;G1T=0\(
M:.!,-6PCEE@O:,LDJA/>=T7B%^BQ:?:M7K>Y9L!, 11OA-<:4CD!(I0$^XW%
M[RW<TZ#5;+T6OK5G"(/V$X9!50RY[#W(<F;ZVP[SA'J=(W+G$124S-J_9]V4
M%5]9F]'>/+D<[M:N^XVAU>@.]T/SB32!RL"ZS$U+GKKQ>#ZEN4(.>5A2BQJM
MI#=4.54P@M_K8>+>H+4:O3]GN+\X.\"C:;<;X&FL7;NY&O#<$_ OGPJMEW%S
M#$">-)M6M[_GM5&=WIYC*><M1]&D;YEHTM[.@$VUBHEA7UQKV>4]A6BG=?+K
M!P<7-AM6:[":O%8 ZJ_-O62CQN,)[KM^@V94]K>+W>>-Z**F4F>+J?2\H7@L
M=BGARNPW40;VK$:O>336.*[-]=I<WG<+"_5E]55N3L:VDXLW[$I^])CI!'-
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
MP[QS:[<QM!K-LW!RE035 UQ=)4!U0%#M-%I6[]2,LW=KPP_S$(XW#[FS90*
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
M\%V1C=%\]"<LS&4@"E^7R[QDSW!(S[5'I"7EC*$RU/<EQN_:5Z4&=E&SK7>
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
MTSB5F*D<:V5*F.)8PPG$;<!:<T]CH5(AD8J "W-'G_\.3QK^2$9!Z0C(641
MGH8?9T5"'V*A-4]?VE?H/-7?*$IDX""_5+^#5TW?ZN8,;3E[@5;,A?-1CJ,#
MRN?I,)C; 0!!R*>SZTY>OU&.@J@0QK(YDT[I2T""5DLQE:2+=&(-FI6XNR\Y
MP% 5P'N@N0^M5O/$[61+]4M]"1G--ET7HG\J?HG265D 3A!6,0+JUZX[7:O9
MVK.TY\PMOTMR,!V(R &(7D3DGD'])^XQ2LR6)^A]*$&.)(G+.^:2](>UZ_[
M&K:W7_BY!+:7%O"$4%>"Y-@7=8,&2/Y^TQITMNL.9>%.NX_.8(>G'A(@JJ8^
ML3C'J6^^2"3UUH+-"^XB75*(7K+\HA##-VO7@R&H"%W=!'P[^C:7W.XAMPOC
M;VN%T "'/;3[UJ!54L7T6D0NU=7*0KE*"M:6.FPWZTO]M5?+\S:/RRT\]+6K
MA[[2T-?.,QGZ>GGS7@\=]=H\<-8K;I30K?^OVO_;.![6,G]QK]_*NDH0?H?-
MX#W:P.W<2L2"4WTKV^9'G_3-*,+FI%@Z"V)+NO?1\9^3;F(9L!: DL)CL+_(
M!>$1@1G$,!O<=&,<W3H%L6=Z[G?F+;!HU@=6CWGU;(2(I$D*N$*(+<[DX-B\
MW)9'%_X^DOMB#B_6Q6ZJH&@P8_MV<3<.FS&Z3\WY+.##'^Z8+RKSJ4_G/ ;(
MXU-4U2G*OYUY*,$R Y &#D7[0)48W\.' 18 YTV9@.WRQY/F0W7S]SR048-X
M48J*(R*PO:+MK9Q#*;6U<+CNGR#,L<=\WIXMFC:!3V$PT\?M1S$VY[AS>:QR
M:G_G9Z+YNHAYW%3=I!2M%#P>;(9V M^+@Q"MHF7HX$)B-Y)-LUN25?0!G$L!
MH@K#?)SS"1@2>):IT-N(>2YL+=I*9OANS#BS_85!-"0(B/X@:OKEQ&(5D9G8
M+D[;".8IRA)ZL<T'VQ-\C#WZ'G$XQQ,8QG$3"2& !?62+=WIS"/H)\?'3S_<
MW+X!#(,R-@N9^-.GH&YV!N8+##NW&J\_?/P$O](OS=<O+?-F/,8Q*=0'&:CE
M#X!9&-OP#NQ[GI'Q)@6NFZ_-&_P\LP8LCTNG*@*N:C0;0TO%.1QA'-SY*#&
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
M9@8AE2GRUD? CG %BLB?3)=$&0AW&-S\+J@QU"P!F-<.G<B0"4-VMF@]#FV
M"J^=33L9@'R%,V')*ON1#)\'(8T7+%6WRT0U+M'O NPE 3^(3-"(BH,>F>?A
MO^H21LX2KC_&I&!U CL>0RR<OP!/FT8)SM$KDE,G&0L'/^%K)'6S_ "&>@""
MB\TKIT")B%@<>VE*J0N2B>X3>E_ LS:78%!/P"\TD"CMV3 .,.^0^@\0R/&&
MP31ODD&<-HT99Y,L+D9,K?D7^:IIBFJ49J-L@8"RDBE62C><$ L#"DD?M7G^
M\)39D2PL"ZAR&C.#Q3VK$%'.$MG#T&6L9!0#<MF,%U&N@M.0>E":14]W=3:+
M/L(R:ZJ,6\F)EAFU'/0)#-?LE#JJV,0WU(.%OA?,\$W(-!/F8A,07(YRJ?.J
ML6>!YXX75$DM7X)YE-36A+_)5-Z4(DQI1H+?#UW,ZL)\YQ@38I5'* 6<]WK
MC<,%&<I3/N"2@ <J6G>3#A< >6HH(AI%/ 55DOL[UPRW2Q)7E:85RTG>E$J!
M#X7L'F<@/B2]7Z1PS!1Y;=;NL6:QLIJO;)!L9=Q8\2325J-3NVX-VE:OO^J\
MJK8$K,0SX&3K5C\W/)O5XBR#9S=*O,;8?(6GN(OD=1**V&]B.QUYLB("UKO"
M3'6P-=!=1KE?G*VCI#?,I_]W^SF2K6&,2NBI/S@+9."PZ8XUS'&&%DFR'I[%
M&3!JU+0Z6^F)DTZFIY/H@J/2!V*:\&_8&UK $(;M&9BC/^B* (._.GQ+QQ5-
MM/YF_Q# $794(1@-:M=]J]W.L9^J17,)6Q^B;S5OJ$T>=GDO%*XLIYPMY8!%
MNJ@-"BLRL271;@#:72JXQELD7R1\5"2"5'I!-*$;*.T&)O7,L5)J\PBW$ZS/
MPK%+!44VZ*!3:L%B<C&TH O?C62=$C5)LWF_&&S=E$NP2'ZINN<L$7 D)>13
MZ"V4TXF)W'$A6V7"+54N9<0.N,V2+[4^!3YJ<&#%/Z*91DK.\F11,&C_R6 _
M4K'AOFI.;47XH=G #+>.U>^M!LEY)$C1DC.7H5"A$T+)<(A-.^:F#MRHB<8+
MW\L:+W:4W*I)[SP?(&QL\7 HL,;!8*^<>8A,>#0X<T_4AR 4'^'WFAG -FO7
MS7J_NYQWRR]\"V'+^7XSC0T.T!3/A\BP>_6@:0V[.43&28B<O"@5"]P@@^93
M@$D;%5=KT%B-\*D@(=V!7T;QZHB330H'W$&&:%+)=4Q9<%F997+X[=S$9$NK
M/UQ5+)[ S:/ZYK (%5OU9)L!2.F)/@QC#B9!*&2$5!_02T%?%/)5^*7N0AL;
ML/"P4JO1[,LB%"&,@:.^,@QFD SF?_N2=AN@)\A__M+B%Z!2X)ZV["'_R'W@
M.:*S2_:O-[Q2]W?&R.4 R[YC8X;I6V;3HDUQ*EZMR*53T!&2<U*I.;G+9(2.
M6^=3C.S0]M&?DC1!P .B(99 TTG>G6T\M#: )[^764.XS=![@FV1:(O\$%,;
M5(3YU+3O[D)VA]X5GS+5J(M?_H:5]H(*-N4]&:S;O[NE^]&@=4@^#(F_T;+X
MNPE#]*ZB6^3-(OV*\-B33!2"+LG/HS/S._&C/PZQVAW03_\6#,HTNSCAH)W?
M(@(;7,85P%TPS@;XBT ?=?/ +@/,4.QVZ?/#SA%\$YMQ=5!FVCGAJH>XLMIK
M4&5FJB@WSFVE2)S9_+G]DZB;E(S(+[L5[!;")EAE9.THF*H;*MON]UH42MB0
MU*=.'RCL$GI!"8:V&_JNM\5Y!P=EL)T3%?2!"KKY#(MQ@ S\S5]YTU/TPTD0
M2\#>VV GVV;\&%P15TFWM>BAG;C$-YD$@VZN3? 8  :9GPO%%;5O%8IOEJ%(
M__D[WQ\'7E;I']2NX1A<X5K1_(.)(0*SU*!6=$9!AI$0 +X@"% 7&YN[^L&F
M9W5YE1/((IZWX##9#9AYV*\;@"0AQWW]Z.O$Z(<(EKF<$,/ JQNRU0G%UM-6
MZ-*Q@*PAL81^"9'\@"$N"L# J[Z%% !:U,V+ZAK0UUT#J&M 3W<-T%T#=->
M4_[?IC24I](PH)I$I!:_<TM,;*H,1$+MXEW\\&K>K!OV#M8-]]%JLDKA#6_F
M_N\UG?UR%$&,J30:^9J@TB+-3E[,^[R)]!GAZ4A\%U\H!S/73Q_L!LT]4@^I
MK_N^<!3(_COW'?HTS!E=+M\"_.B]C-H4!&L+VW0UK78KQVDJ2[M0;QRQ;$AH
M1R =$$FL"%"?TV9UG#*+ JR)^0Q]J]_(:8JET*'2#(^B8SL";(_X9854]199
MR/.*4Q7ZXCMM:YB7]+%"5F/Y]E(8\H" 65FR[<%V/2Q^^!"$OZ(M511JV+J^
M80U[.=[ZI+\GS<VPY0H\.1'7L Q[ NJ\B2Z/(,D;3T";Y!RG<> D#5[&RZZ$
MK5PW_W'O>A@H-B?SD(:0"9-0L=B$5WB*O=53V;J4F&:T&HVB?F++S$E>L#;C
M>MC8YRHK@5'VEAX=2EYI=_-:U K(4E,=M9<F!R]YFWCE@8SJ81XG8I+'D4C,
M"!&-M/$$HADY::W4RG9Y9-@T<)B'*1& @_$<];*<7%0UXXI[W;+]83%<0J,V
MN!L.E\&7D UW=3O&LI!(!D^6EI9LA5E?/(V"188<>T#9$S.9X(P9HYP[T=&!
M[/L0P(9I6J^5QK#1(6.)02!*\]"GD!RQ9_NL?'94(Z)_ETBY22'^#3GA@(9:
M9:R:$0!='J/C[:-&#(<O :_3R"4BMT>&UC22*._#:ZCDLSR)+VGKO(GN*7E(
M39G8H7=G_9@=O7;KWU4R/>B.7N?5#DMW]*J^HU>FR\=J+9'L#&\NT.]S$?VC
M&OLWP-Y;(TRJLA4Q(\TG"4+LHUVH;W:KA>G-]5[.&)QGU0BL>_F([->N&_6<
M+/62$7E(GX[5-\OSBL0&WOT_U5#EUC=12E'RN'3>_GL"E1V(8H#NMGIK7_;>
M!MM3X.7<6'4OO SAQN[76SGC"DK RW$;=M6N<?K:U02'RF:,1\V\?H2@^0"0
M40=<%".1-C;,J;=SQO!ISCT=4M ;7^]7(TXKNEF%*8X>'O.%ZW,K_.5QZ.#
M2H>]$\,VR>MO+)QF$IS:V!&DWEYV/2S"U2[#A9#Z\XG@FI\M=D*XMA&NG3+A
M>NR;[1]+WC'5U85CA42A?AJFD.E_2B\=GO&W'[^M-!,[Z![<;<#JWB+W/74X
M2(<[1;QVXM[VA:.,@E311Y\G&TH8WW 0TQ_?@43>VGWL"W9'6(YXM+':HMY<
ME= GN#4/QE[WV6&O2]C;L^?UZ1O%B9GQK8(SXQOUHTV,?S^9B'8FO]OA^-YL
MMJW5MFUFR&@J7:PT::'0UU]S.P1=R5LD$R&SL2R:+!>RN[F'B;YV=)^=')FM
M0)GL5 K7WIWLOZ 783>ZZZ'SI-?/R4I)Q7Q.DP,>S#!6@QFE F1XP(3[?0%"
MWJ0<^[0(/);F8YM9)X^Q[.3!A.Y,3Q^E38SRK6S54]*+AMXI*MOS[="5][O3
MF><"VLC/K"0WP)__J-_6DS1PGDHNNOE@QQP0C7#W4[<?4':4NFIYUV?BJ7+'
M_[^];VU.'$G6_LZO4#C.O-,=BS&2N/;N(<+77D^[VQ[;/;TS)TZ<D%%A:UI(
MM"ZVZ5__9F;I"@($2"!A-F)GQC94967EK;*RGO1B T[C)$X.#E0)P_*P]SB_
MGO/Q=53_X0"."<HO(!J1'M:VT\UM9)E>G7TRX,[^3C?F%*-W>,=H(T':LKO'
M76ZFF YV^-TMQSPC$2,QA<@;>*3]9/;$^W1OQ$D@QZ0;UXVV3EKUHG7E3<K\
M<E6LYW.[FN9N=<5[U447AI%OQ>\FQ6;ZRTG_3<>BR28;R7&!Q3(L.PS.<F1&
M$LVSIIC)&/E@T:$S);_V5&9)I7\"*3J=DV>1-R3N7_RWJ44GM"RRY)VVBT[F
M&Q;YN\0F$T6CLB1R=.M#EA6=T&,?P^%MRCQ''"@ZF?Z;I:+3>1H^F"\ZJ9=
MJ6;86G]K<K^H =SVN+/X=.28WHEHUQ=*><A=7R3>@^[Z&NEF9QE=3W<AFU
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
M+!^.W%-R,2G-$='E/-#0F:$_=D!FO0VVP1KBJOQ(7^'Q?/*>>,^6)ME< QO
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
ML%?6YUCIYF"@]9E%W.1_"W%CO;]5A;YB61I3$=(386A9;$,(N-,'%S<(G7,
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
M]#;"W0UMX3Z#M<$,5M$*OJ1]!FNK&:S"R<-;R&!MZ11;[(W?Y<1540Z_Q9:
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
M4U2Z?8"/ F4]_Y\/ICKNP>^>G*'>^_]02P,$%     @ .X [6?^]'-7O$P
MRN$  !    !E<W M,C R-# V,S N>'-D[5UM5]LX%OX^O\++E^V>;IK$#H%P
M2O>$EW1H>1L2RK1[]LQQ;(5X\$LJV8'TUZ\DVXEC2[(<*&@&?R+8TO5S]4BZ
M5U=O[__SX+G:'$#D!/[^5OM=:TL#OA78CG^[OW4];/2'AR<G6__YH&F_O/]'
MHZ%]!#Z 9@AL;;S0#@-O-K0<;01-'TT"Z&EO0N]?6D.;AN%LK]F\O[]_9^$T
MR'(@0$$$+8#( ZW1P )3D8<0$(%[VF@::4,PT_2NIK?V.IT]O:==CP[Q/WHG
MSO++^P>TAZPI\$P-N, #?CC GST"$S-RP_VM[Y'I.A,'V%L:ULO':6'8"!<S
M@/:W$DP3$XW?!?"VN7S5)/*WM-"$MR \-SV 9J8%EAGPOV!!4--TK:[12H6[
MCG^W3$9T?1A#E\K66RVC25Z/3032Y ^%]/<&3=WN]7I-^C9-&B$>ZO1- CJ1
MC%AB,8AV\_>STR$MKV5:C-$.E^FSD+>;\<LT*=9<HA3L$+(+ ;]H$JPDA]YH
M&0VCG07A"(K.\5%H^A;8(M7D%TTCM)N^'X1FB.MI\C!Y/)LY_B3XD#S"#TE!
M[J6%?P4F&BW:/0)E?PLYWLPEE-!G4P@F^UM8MT:JU1^N.7Z'0:8I3&C!P 5B
MVIHS&,P #!W,2X9U*J"0>UU3\KJ)OPG<TQ7BK29M'D^DT0R"9]<(?Q/AQDGI
MRBOV-%K98/+L6N%O.K[#TNG)R+),]]G5PM^T(I?%U9I.).T(:Z&1']=7)XR^
M@8H[#'P4N(Y-.O4#TR7M>#@% '<KCDVU_0/^P4VS5I;IEU?E_J'7VS9:;6QB
MAKAR40. ?R<2-"H"O6_F,S%$1@C8%_X'^CM?61,!21)AUO4:D<\H_FRNV'.9
MTZ)OKI7]!TU[6E+^N#0AUGT*0@?C03(<Y;-(4:8+*=/>K,O\%X/#FL E&R?8
M0_/ LCAYI.63%<HP3Y*1(VGY&VG!A'I[$$R!CYPYT&+A=5MC4#6<XLH\#5P;
MN]7'WR,G7)!<>@"-+%."5*Q"S'/5$7,U-?U;@#3'QR\"ZR[YSC^U^$MLVFK>
M>(P(>DGY3#*L;C^&59E>]+5SG.T?#TTT';C!/:__7+XOZI[GK2OF#0O2B*3:
M-V%Q<FZ&$03!Y&)&0@OXDVL-C/'V0Q%\GI =3,*1@RPW0#@W_B<60]A8":J]
MC$(7&'F>"1?!9.C<^LX$=R-^V+>L(/)#Q[^]Q"W#PJ.,M?Y/+H<$9;MYRA+1
MA+.,<&TE74O%,YO5*Z?R"LR!'X$L5^FC4D>PEZ<BR5F7<[&<3_PY0"'IZX?
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
MNY44Z*FG0*^:[Z&@]]1NR;?AMHK.4[L"?@5]I[9> ;^"_D;;J(!?07>CW:F
M7T%OH[U= ;^"1KC=K8!?01O<WN'B)XL5()B2C?7I!E&5_#LN-FXTHZB\@CY%
M>[="A5+0I6CWY/'K"CH4>@6'0E?0H= K.!2Z@@Z%7L&AT!5T*/0*#H6NH$.A
M5W H= 4="IWO4 B,QLMW1$)PE0*L"GI)>@4O25?02]+Y7E(QK8).A5[!J= 5
M="KT"DZ%\?)MF85)'K^"3H51P:DP%'0JC I.A:&@4V%4<"H,!9T*HX)382CH
M5!@5HA2&@O;7J&!_#07MKU'!_AH*VE^C@OTU%+2_!M_^?HI\8+3(JCEE@D,,
M2)4FE15T(#I\!V*IK:$> 88, 7BP X&)P!6P(XM(/O')\6]7 $4NV:X[@(&G
MC&J5P$JW^8Z"/E^G@L_74=#GZU3P^3H*^GR="CY?1T&?K\/W^0H'$!Y&^%\_
MU[J]P >A"1<L-2:FBYAZQ!M)PO35V'3).DVL'QB3Z^$W5(X+6+3L-Y,I/<QP
M\1,UM.*;[I] Q15:_K+641":;G'W_P&YPF)QC()9W[='I*>,X((F4U?SZJKP
MVR4PH0]LDBE>,7P8('5K-0<N3[O4]!V!^.^)_\6,]U;0M8BF^P2*KKJA)]6T
M'+J$?V(O,U^:"QBX+JX7%^$40'K Z8T33J? M=4O!$D]1%T;O1X$V(AX.Q\A
MV1] SBE35W4.7OZ>%L:YJ2/P$!ZXF9[,#N%>F#[<4,M-MRD(\?%[;<%=NPII
M)X-25#O)[OZ+Y)P E?1BX^)6PO1"GLQ)R/3*OH5*.DF Y%?'*T .V'(7?3N8
MD?,9EW<3#LE%'[B%*JAP=<Q\_2OOQJ-'H*A4&H_5@.=K9';DI==2G:S=AZ5F
M(92"?;HM<PJ7PB;X^::XROVXF][1^LQC9SO<F^*<T(K&X&2]$)]!6_[H!:<.
M\&=_ !N#12BMS73[A,*C&"%L;L5BWWVQ?OX3.5=[8#IPK01(&R/D85'/[!=5
M1LRC6D;2D3-W;("'!G[?=<DF>CQ07)YO_I<H"[$&?+-<B/8DETN1H9$-S?LG
M&>D^4Z"J"%TR9$6S/T?<ZFD57H]=L2V*Z)AWF6.EU;$6C]1$Y(UL+)J,<@A,
M].(AZ:?0@5^+2"]2$-Z'D!SV3(^</5BLTER:"WIT @D[)&<^7T0A:1 V+I7<
M ?57P#,=<G1@YD;>$8!>;I(E+9]G=O->0F]^7RT448JU!"H-%0%;$N;J5Y)/
M!;J4+A_!R)AWKO!F9]ZJU6,_F5ZEH:/CAQ#[/Z3(5:B+#%1<#:[ '/A1>B>H
M:C2RT/%\[0/3NG.#V\O82\;MXX*>DGL;'_R'O@(37OB/'EPLO:L-N9%$R6^Q
M$@)&]\%?0$V"\G%J3B'X*_ 9X^2VP!()BBLH\FW+[F57K;>1P\LEDLYOGSDN
M0"$>MUT!QQM'$,6^&HEFXT&TW?=(B$G=";P*.G#+@7G;M')<\T&6#-SQD(7>
MG0&=,?T<J2W)3!I$9V9H35.7+$F@+ML;:</G77B+M7(50 *MP&_F7_BIFJ*E
M4/F1V[*+,E5351*PP&3Q)?P:X([P)H!W^?&F@X=8MP"J,G6?Q;EIW$DU7B7
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
M 6H/%L<W4>=BDOO)TB'W;9;TXX+_PFXF\ +]*3X-NC9^/W7)A_DE%?(^W-@
M[<N@Q[\<08)%]?:!-:\LSU%C8**&;=D(-#&V%:B"Q"..K.^%\BL!/8_2%>^K
MU%A60W36:6KY68/MZ*"^AA M$:+AT\7\_1&O9M*YU*0]<0[/VK:%:1&.#H?N
MP!&,A'C]<LUUR#RPDE]?LA9GTM]*PZ'=PO XB 1OW'"NTMF6@96D9NX^0;YC
M+)'%N+2XJ%7DK$25ZQ,YU,3]#U!+ P04    "  [@#M9ZO*]5P0\  !EL ,
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
MXO(-DQ)R&Q#D^"S0_TOHL]CD1TH3AO,XV+;)'A$<T3^=T'\&LRM$<.@!%0B
MH3D B]K<^921N]T9"^/1:T$52)9XD&Q&H0&%@4M<D#R>^M!%H*ND$\Q^.).Z
MJ22N\M(T">H@TV&9P%S)8-B[KD7"R&-)3A^@F2QU:/G(4F!^%%#L7GZ[<&5#
M)S"?4FU^\V7"-C*>-G*V@!2;,OB]>?JH$U:F"!*2Q1 J4@VV5:>B[DG08;JL
MMC7([ER50*>RJD*W:8D"<KR;VKW7SZ0X5(IX;BA1WX3DNQ<5(E?RM78JFJ&(
MH=0O:CHQH0E@AYMOL]H-P-2CVN)09GHZ%+(U!-_)BVHM7I4$37T4!C&5BU,_
M_=3/+R(TRQ/]3":Y%%ADTLD><6&0-EMYP& BU H+BDVM4U&Y;*O(9"O+VHD%
MX[2HP3K)Y]":-=Y;84 ]IAHS=;G<X EFQ7QOIQ/(-=\*Z\]7?7$%Z-)NSF6&
M8PPC%E1R9"G-_E/% C%?G_"I.GS8RA.7IQ\ZJ@\*LH <CHX&0R"LX,.RZ*"3
MYHJ 6G(6*T0K)AA^2<.UZ,F39IT\$<':.-<; X%PK0/(7FB]+@()TRD-U5B!
M,*0;CE4OCC13.'02I^WLT )I,K[*O )M7.$W0:I_==B$YN\:*@GGZ;7=D7WJ
M:[5R>:Z<!^:+5)V\\9*4IY*J)L>#]BPUXTWWNPPTUCV1ZL@\/Y&-66-Y$+>!
MLV!9$'\CKTA=L9^'9 350;1 X H$+*<DS(OGS")0C2M,$N*9)=I62=:NIBP3
M:=N%]&_C99IK?OJ B(LCXYD1ZO!ME@_*&S1J) 5KU=Z!2W:A6^0O#X%A=,+0
M83&7K,+T83UWXE])5GP7W80=WK(BBPIY3,%0[9)6CY2QO$;4[HYPC":(K+"+
MLMU<(S><9<0W[ICL!^M],/%ZXZ!,0J..")[@%?90X$6E!\.Q$\T-RTPGF,'?
M!]T$ FLNS[N"BN98F?C<!_39/<=+9C+V>+5SD!@\/W6)*VY!WU=ZC6R#VAVS
M)L;3WJ9@R\'4MI)-UW(,OS['?FF.DAA!%MY(UMSLZI#<7!-%BC6[(Y@9 .>8
M[ 9I+\"HS78Y4LK4V@#UI&-(G/GA?;>ZW5';%@ Z9J";5+)-4#M8*Y<H3AE$
M0L8V[VA]&[$.?IN6.R,WI@Q-3R?,QC00&,8CE</SFAM9F< @V2]/Q;NO+]%B
M[[_I?*32\Y.]%P,7^Z@"^2:T>SI!4!S"*T/R],*P"*QNJ]U98?HJ:@=BT\</
M>9(JS\\.^D+U,3U!U)!V,007*TL_!=Y5:0F5Y=#MA&#9+F6I@6G0I0[?HC;N
MB_4:3!'F6.@=YVS\<S^]FD30[+TS^SOR GI+)'5H-4'>.C<<'XVG=!L4\7C-
M)"ZM3EB6&Z.;ZH\L!]2N<=X7YV4Y()/4J=N.C:62HA.4_;>T@SRP!->X7A;P
M(+(R) UQ%7I*Y,>986ESG!<X,UM 6NT$IBCD?):VT1.J%6<-=*F38X_<;(=J
MMWV/48YVD!7*^FY#8$653$BP\;D;?%B/BH<E$D+E'C?!7A&T=+!7V'"YZ38*
MLI*F412A&)ZE4D@\(E[+$1TJ%[K[1KARUKU>KP4\ZXV%0.[7#36!DHY;(=,5
M/6J,.[VHXCJ\1\?'*C4-)RBS(JTFU,^.F_I(4NB.7^5A:XV:>(V]4YV2I('J
M:=R"=*J8,X$HS>F&?U5VP'T\KY%.RAK-)BX+E+>]AYTUZQM?7+RI ?T%Q_,Y
M\CV%@R>YH$U'P.['4)9JXB1<,R>2C0M@^#+(QTD4TP<0*>3'=-VI*O3]X[0V
MG<4)OD9-F])+MT=CM0/RHS1WVB@LSNL%SXNRE@^UQX=9A;H%BTUWFNG (1NI
M93'SC8? 8\A\XQ(8I/D)U19%C8_[+<$$5:)!U%J "LDI +9YEO5/0IG=*E0V
M/KR1V8,4GHN0EXYL^D@8S'N'R%C+'5\<9!JC)%-X]  9>5 &UA)RA3QD"I#W
MF:5:E 9)8VF<].T82M/6$!?4H^ FEY8PUV%-@*C$?')B5H.S'D]'*P?[S+8^
M"PG[X[8Z!_C8RF)AU02".<'2# !RU\OORIH%_ CL(Q4JR_1!,\GJ,QPX@6OQ
MT<-#X#$\>K@$%A[K72YI-G6@60,/=$UW !NBSI80^;9[NHN<0#6JY:OB&BT3
MXLZ=B)I\($T,!< > Q<%Y 1J:BR/O#5M.\0+5I&Y*E0&:WO,,&#_8Q*UHN9;
MFLU(<<9N7H5,C;WJ+TJ?S&K>ZZ[5TP?73UC-//UA[@0S=$VOI-/I%!F_G'M&
M?J\N]KX9*S0!>Y?.(0G;,)HDP N.3":)5J%HLEQFXWL<O]A%/L\'K(.!#,C]
M8:L<!6'F5E<BH9@U$34?:ZX#L-R01D%>:\'D!J6DIB$9[$-RR7P[*)SFT<TP
MX#5]TNR11&9.@/].5]^V/6'L";PK@B)&-_;/\32WAAQ_(^]0Y]T,3KI')"/Z
MN(7HIDSK)@"[1\2H#%3LZA92R@;P3+942Q8+AZS#Z03/ CS%+@MV9 G-K%T4
MW:Y;>D 9.UI-$%"M-KH!:5I[7$+=4-H<^>9=09) +9>A"IE:N>HEZ=CWQ7*-
M5BA($$_D]2;WI,M"R7EC>4WISM=AKIRV3$ H^98&:_5UV\7#Z@ B60)*MC<Q
M*-K;*&@S &FF=ULIS@I6B=V$H&_Q%VM!R74;!*O5&9WLJ=KW+721*1DVVV<P
MQ2_"0>I?CLP;(06(D$ ):QL$76&]"(/9#2(;K1*-"27,C#B+Z 1'C!G4GH22
M8T7@]AP.')Z6)5R5F'*!*(/B7\D^<EKRO,SHZ\XD)Z #(8:W0Y2@<W'X\Z$$
MVN(%(,WO6GQ/@:X6'K%7V2#C6N^OQ@G1G?13M+%*7<HQ)JBZ=["[0Q[R+H<F
MHUU1W745TB4WH/*63CU<,-IHV+QJE$6C<JJT"=_WBSB-_3)<IR$IN7Z-VV.;
MM<'/%@_2+O7Y]47AGA4<4-;+U$1,; TE#,/L*CFEBA>[X1<RM3A=Q(Q.AM4U
MCKY&;(9%=!E6_G"%"/N',X.[7331T"C$;B-JQ\EHK23A?]^J1VA7;A95)0(2
M]>\J$L_4,35;)9TP]@ORO?.@&RA4]%P-N(;L=Z^J<@)D5K$8Y-=B82'Z4A2R
M$1EC^-QU=?TV%1;87GOC:1G.-?+3"1O4*HQ2^J:8%/FR0,=A1V2T+2=IN$=E
MN%#&U:[8V+6_S A4==K;CMSIW8JK7+[A])@@#\?L=C9KRJ7W/7V_W5)H)*:,
M :SPX,/2]2DWS!?XIXL42'MWF11/JT.:9$C8^Q'(#^>50[A!/KT0\6;I]0UQ
MJ#9PT_P5L,BV )SVM=.U,OPA4(%L]SJ1978U!*Y 5PN7PV*!LQBH$W@L (2#
M&0I$:4Z:SN,"U*@&J@_WL0)L_98^4G#@+A,EX%9]Q>J24)\%J$+F_CT&S=F&
MQAW$31"780QU@ 3 ]$],^\+PAT4>KLUZ 1D.-V87RU&S_S-!/X:*]X?IRX6M
M/<[7/G/<M#\?T%'@@M+L*U1>4\45UOX]FW66,HPHG%T=N^[="/H]H<89(OYZ
MD[5^SJ)[B_05<QLX"<4/><85.!<LN$FD"EW[8<$%!*7>)8':?4YH"D!9X<L2
MM_<SU<QB/UJG/_$,H2=6/"'(CL[(92G)O [<XB0WI4(*59H:;Q-83AMF(TW6
ML&SL!&-SYJ(2Q[H)9;A5!C,Y"IDH-5OG\J?5ZI)8Q&H<7H[^LN2 &L=3'I9*
M?_91GCHV6H0DSHL,8<^.#@;[H@>UJ"LS=&>W;#!H9=@!9H^481>A@!KSY=TA
MZLU$0-DD!]/JP&@EIDG2$*3=RK8Z"=[.:(>S!U>=!+&@INF<.9A\=OP$E6KB
MSP.*8K+8"HEA7LG!W)_S)4E#HS-S"M@WQ/&VP^D:PT-!^"<'<W_X)TE#X? <
M'?Z=.B2@:++V6&E:#JR6%$';%^M12#7QY!O]""HU7.>L'&2%,FLH PYLDLB"
MW:/;3IZ44B-NM-AYF[:^C&*\<&+CK2=KB^^-D5\GBLSX&65/!].O0>RO1UZX
MC)&WQ7#"*F@=XFDX/M37W(/CHDFL@FGF^WM>HOL2YB0,Z(\N*IDZL*I0&?P^
M]=E1IVW!9YY31.OAMEA2LS;M!DA.<+0,(\<?3UDI_@55UUXV!QGX3:>#POZ8
MG7H4+OC-<;0822YNYF%#Y127(.T/\[CT*GC$&5Y@HS'<#7O-F$TOWL/H9EK!
MY\Z1E_@E,\>C1L\T\=G)8PWN<^\TI5=V#%/2*95![@AA\,:B$3+V'O9O:ZHE
M.!9/H;?6";HK$:0^?X<G_ :"7 J@A]^-2XV2,FVZ=A&]8]^)(GH?L%$ 12PU
M<?QBU-()/;&@S-T)%:MO,^7F:SJT%B<00+=I S )]J-16_7ZVA#FO$(8O0M?
MN)C=!ZF@Z9HJ86QTD.IJMP9RDS^-KFN]]UH;Q*5NML.:]5/1UO@)0,/O>>NG
MLG9;+,,@FVFV 94WILN;>H&:1[M@8M445NH:M1.])<N =A"";-K0)@1%,6(S
MB*Z1&P:L/"3+5.]'"C10L6PD:PJ"#LTELFUW%843-$6$((_BD_DKJ'8OI9[V
M) 5J6.RG "A26G9672\]M816YG-K+:'.[81Q.AE?;84);D3'+JC8'=JGW;_+
M#!LLU:HW>GN)3^%SBZ_=+>1&JZC1O4.\3%Z6:9\0EOB8==6-HF21_:ZGB]((
M<H^M 9AIW@%-=6Y#LTR ,IJC;&KMNG>Q4D3(7O9D/V*DRA^AQ;Z;X%R&J?,=
M>2F&/0N)%/#'*1!R=!>:[- -;0 <7_O=TJ;JV;]&$2*K]% OZ'%.K<JSD)PE
M;-+A.;T/G,#E!@<%41"=]6VF_\@WLS% 1["J[I)M7TN1IQH<N_25?8+])&8/
M[WX\6DI86)Z&KMS-2)?8<H7CO7>0 ="83Z2'S%82^ U/^CET*CCL?8<93=+W
M/ZPBQS-LS94+.W+EC![&SL EW0(ZC]'"= &,!$"MO VI;-<3%#O8CW:C.\_4
MZ0$+N O1\7W%D'A#2#:V4!_L:)[7,(CI>3CUT^J(GU]$:)9/W#,2)XQ(_.>U
M$\S0Z %+'0OZA=*1H/_:'H?J6D"/PCG])G&3._22_C:;5E5E<,\GATE'C8BF
M8[F;Y3]5KIA=N92O!GDS%AQZF=V154:UBEZ%G,5^#?OF:NO_^0J HL#D1%,G
M\6,]>K+]@KBL.E7JT9H-()+5,"8NWA)$N+MEB*I(B1<RJ09FL^_HET\JJ@ \
M_6X+$?#5S=5S&L=#+@VO1$R0!'L)R'*ZTSPC+:A7>#9**6;-(WF48-^C"N=\
ML23A*JNTE3<G%!C( 60O3*"@D,H\XQ$-*F'OD^/.Z0N$K,MH@G"*!\FFAUJ3
M65S"@275G26$$H?Y;@+O##^PGV#.%0?0WITK'M%,M[EDQN\G2I5%LC#V?*JN
M9\6;W_$F+,S]VHXA7J2?G >S1*VL-TBB5G?<N_5</ 6FR+!ND8%H-6:EYJQ3
M(F3?M8G;)]ZFD#)JJ]9VMD6UTU)1K?%$P&U<H53C">4H%P#;I8FQL!S9\%9D
M(%IP:\NQ4[&2VXQ;6L^^:C::!/ C=4$!](T*G4<:HEVQL;H()[8%-/MS!M$4
M$5;@,$%DA5WZ;FKO$\ILPZC]3R"^(:.HP?L>.!XDP6&H]?HTR ^P/!Z3:!KW
M19D6'"M1 <NR(^G3TFK 0&V[U*$>YSUXP@C#>$IXD&QZ2B"4;J7Y%X_"("[G
M3TE -[%T_*,P\& <*:T@K+YNH-G83E2HY^OMY(8@)TK(^@C[_M9R 6&F -BC
M9JN(T% #8U@;<=:2=0.06:CY/),LY=[\/2P":+%+@/J+2X: 4FX)]3:&M==#
M[6WANLDB20LG/I(PBFX#*E\^P^DC)<(1\T.P&FC#W#6#TUX)@"$VB ]XGS)R
M0?\U-!FIXO0D9*3&!O$H*1,R4E5EVW\=)X1D7B%(:1!!MUINLS/CA;25F$C%
M<V+_])\O7Q[\SY=/G]__[__\RUTF#W\$[SYX?W^_FOVQ#FY/DON/WY,/W__V
MYJ_;FW7D?[]R_W[E_QH?4DQ^_?O[[[X^O'8OXE?_/CM[,_GM</5P=/S'JY4W
M(7]04IVYR=>+,/BX(A?O[C^-_A%.[YUOX=MOGR['R>_'_WX[??<I^CQ>C,>C
M^>GY5_S#EZN_?CA';O3OT]'Y+Q^^.ST[2VY?_W%Y]^N'NV_?C7Y8KEV7_..M
M]^^[-V__M?B!X'?3VR^KRP\G;WZ_N[\()A]/T<=/'RZ^+M#1M_=?%T?N^V]W
M?[_Z[>;BWY.W;Z[_\?>[FW_<K*Y_F[[^\/[A]>VK-U?N<K+\LCX[?_6OKV?!
MUS>_OD=QLO@MN(F_S6?!+U^\']8?1N_?!7=O?_WU\A]7^/.K#Q?+]^Z[+Z\O
MUN\6'U9O_->G%^\_?G@;^F>3H^GZS6^GL?/QY.KP=!Z>_7H;CVZ/?WD]_O;^
M)#X+[W^__?SVA^A_#XXGUR]?%EGWNP0/&IT7,4L0J\<,JB(#$T'@"^P6NPFU
M>7Q4[A,)U4-Y=X0TGZ^RD-DH5!R, _0'<LAFK)(E,G0@8[5'N3&1DM>L8NZ
M>#QDD1I-8T0H3C=S$B:S^1E>I>A%MJ5'C)?EN11614F":_V\])XMM"$)2+<5
MUUL?@88E46N6;-Q,V,R7OD10+65;0>@U$& /*C><!>FSF[VP"C*UZ-K6LCG!
M O9R]GA\*$K=1+N'2G[=X$9/#1L0<X/(9GQ\-"94/F?$,9Z5(@O5<E=^'M.4
M"6@O[8G?U;I;[3S52N"F)Z$[ZQ8@STD:[.!K>-4)V7<QKG!?3[603O<,Z%;$
M&;_8GBOBE,[O<T7<<T4<=$7<!;4]0'(22@L/,VF>7YQ3I@M04TP&HJBM8]D1
MX$6)$@"'.)U#S"@1%6&<2\\UBH UBL+F[\\UB@.I4>2-(C9K7J0^F+[LB@S8
M,*\N[L-.1#X@3_LV%:-HSY%V=4-+'Z4D"[P\MRO]?2>2IEWPIM :I)KERH$Y
MCD"E4':"O$2]C5ECH.R&Y@R?\I1V,JH9,)12S'T*I_$<\2:5 8176N=,,><O
M#A*6>4RIYF1]S(&'F"E@H/D.SZ-F9X@RV_$;( UO3 3-9BQ'F^F5.@\1.<'J
MOW+(DYB%4P/O@GZX+W8*8-J\]LRR541<D%YPQ>"KCJT89JD(VMZ?4"$YP1Z/
M_3"0PSB+!HJD$%<#L'P&\<NN8?HPMPXA!#)#Y"8>/AQ3JF*P>5*:2.B^ &7
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
MH_!A_])_PG-T3W[O3P.,:([QCG/# 8>U(&V5U52QT?85E,3IOV[A-:7*4V1
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
MDU?AHYO(?723;CZZ*YQ2[RVT$)GC^?'Z,[F++\+KHL?0T2SUGUA@;3\5<S0
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
MVPZ.=[2WB2GM[3(*'^YQ7+I<DNOX)HX>8F^9G/K)+(B2+.[M?=IR<=OQZ>W
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
MLE:A E70IO0NP<7] 2[/&7MA)TRM^]._?3L>C?[L]@HQ3[/6)8+@5?XYI/_
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
M#'=_NH;K(H4"*;]E_FJITG^GZA J9MFCMVQ*O3_E3&YU4_4=*WEX)/AR$[;
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
MW<ZYYU<#=Z^E6-BYY\=45A NS99,WI1B!L=+872&@0L'UF;7!:JLOK>Y= "
M0=PDO6!6>%7T2$>KOE'U\H4=[3>\PH]#M]\T8*&%_4:*RS]85NY6D>VS%QS/
M_ 3?Q/YL8*KQ3EGW E9$@75>Z= 9F=QHR'+&L=BYL*?M%IL2]C9@BIKD)!2]
M"Q#G))2VU?P<'%7/P3T[!R6CNPKMMH'A'?.%%8I:[6-#;AOX'^3_/GD!IK$<
MY&;Q 3KX P&V_HO*E_PJI&<O>0P/^>$1$'-+7JQGBP5N:,A"YMUC5W]E^CVT
M61FQ3T B;_VR/D)<=!84SB*HJH , 6B(P>96?;!+!ZYKW@$GV&V^+$S8/;N[
MOBG"2.I>;V&]Z^9LYC<PX]MJA$\Y;6[U=<MM6JC@,4T'G%HVC&Q:O^<Q:X0M
M:2P-T:7E!I'-:+09CHKQ VJ:HK9/KG+6 D-V:;==R713Y?043]-/7IK_"P))
M_? ZQ#]C+RY?RF)CY+1:0G9O$WVWOXCB?5BH:KO80_E"Z[W*88;[Z([@*<#E
MG]$I^<L> A@0@<7E"Z ;XKC>.@.DL*G>[-AGR0_%[_( IIHF%\Z/<8@7?IKP
M5;V3*&EGW8:?RS_D*^[5M7+@H6+5/21\QL+20[..&\"FDE7=&-5<Y2>WR-J<
M.'Q/[<*]_0(2[<Q9XG>+-)<A(58A\=LM8EOD#[T;$F+E"43OW"*V3=OY(2%6
MH>^\]6(<WWM^>!DER74(RLCUHE;53-H= T:C-S#^+2(7[*F?K**$!B/!BZV8
M*R_X-I .&6H[YEVJ;7!E5[_?,MK6$SH@% C/R97NST1TW+'![R36L$GV$)W&
M+0%5-\LC83M$V6L!TLTJVJX:JP&[=M6#LUML]769L!OKJ?9''/M!RD632)IV
M"%N)\2/9C?^$644B2>3L]<D%.DK3V)]F*8U;22/"&S'M>+L;.NLFA%EMB]QG
M>3O\6/2![=:1;E$@>TCJCT*/,+=Z98OB-0=#0JR\>LV!=;V2Z$8SC.<)I*G3
MWDGAO##O72_$-C!QA5HV'<OYIZVIP.A36@PC:.0LM4:ZM"1J(H0GJSKA=AAU
MHHNVTPNA<5E2+KILX[W ;F\=A2T*:*B&F5<5ET1X;H%]R#](F(O>9WG*R47(
M_)LV0H\J0!3Q1P48D*'* 'G-8452+/<1.:1(6F=E_5I4F?HPI,M;7F;J@_7+
MNU*\,4\F8P_D(N-H)\M(K:1ED6F7FQ3*9*[%;OJ6XXH,+;?/#0;1PZ$KW;=%
M ;SW0SH^\@IX[UT<G^VWXQ5.KQ<-):UJ0U!>\9@95EE^#U%P:0%D_@O<Y6W6
ML%O!N6A&CK,;I$7#M(]#.@+RCFD?W<J6%AV]OAT28N4MO;ZUBMC[Y^C^,<H2
MHM3>01&X%.-0WC6$C$+%,%2.X_8,L8SPYOUL(U]E]Y:-JB)+(<CM0JC=1#%5
MM"MR^SYB4EN6S,-:\"A?#?E*0B,M-T/4Q8UA"&V\V\4H12QSTRVFYF<"2;J^
M)\^RA  "#ZQ3/YD%44)416F493X%HG.@ZB1H,XLHUM)-34SE/?/(W1IE=MVR
M@ERTLG#4)A=-,Y]O4VUK,Y5CBJKOF4?0MABS&0EY P(%0N%")CB T836R]PV
M!4_;?!PJ(NP<$XBW#:Z%4KA=JR9)A4C&_$D-=BE:G,@+DKQ(T:7O3?V@\82U
MB#DMUJ%6Q6*E/514=*HLYM8D;0IE/*XP2PZK]:(8#.1DDD\# K9RJ:Y\"*)C
MAM$+4;P9@7.[<>L6O=G'WNQ+$#W<X!BJF'H/M(X1;?)%!0P$N]\_QEC8WBP?
MCS83L+I0FRE8W@"=Q F)VNQR^XW3#CNV2V=LRNTUAXJ +XNHGWFHT%#JJNV
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
M:, &I^T9V9?D>844IR& -UGN^VS)Q].W4'6D1\#G#.J8YLV+G7GE1P2:)C)
M;) F""HPR5[K$0G;(H,:H.2PNLD[X3YL:O!^[-^]W+=0B?AC467<;*@>KL"D
M\$*,>0_*MZKZ@$/T#73##\>WS/3$^JX21T#B9<:F;Z[&*&=3^_/YP3IRYGN1
MMNKQ:9PC*<QV* 3J8_6(2ZGV3W7U % &C6QHMPU?'@]-]M3.("6#7GZ";@R2
MI65UPW1/88:R%+#^69)C<[A$=_3H5#QAV$2F'>A4T6JC<JD'9]<$#9 &G>H1
M"W661RB"U)C -P ^LALN_KS-+^E41,@1O_\AXK^J2[X#6:9NAB#HI5A@SP)7
MM,893P[["CT$ITW3)7P'YU@XQ$<+-R:ENPYP)B'/ EC:RI?Y!IY_.ZFC]25K
MG$R&:0SMJ70.F]JE!FHX_O%;F__]"$D!WX,7T_YA)IY&;J0I/FQ,!/1[<\M*
M;6%!K63^J:LR)E]JO@+RKI"ET!3'<" !175A%8,9]L)4-[*D#V0+\3V@S4J
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
M=[/^Y>NY+UY"I6BX\F)3]QIR#I4C^&/='/("R''!;O_U'\^%XL>]=/IY;#S
M&J"\"/=#7)2/_@KC!"?-T26B!V=8-,3\7BJDR@<.54#N\N;)Q+NW#?^^'YKL
M*1Q8%D@-42X%>K!0 ?QGW<DXUIPTV.R7UQM]CE$5499$D-&W#5#ZNJ-=M_E3
M5D RE9;QF)4@\A^]6]NW +'&.[6U?9ON;'WIAGY,T\W+#(M9XV)B8,G*.J28
MA0E<)=E*2)GUJ%(IYO,YF!P3AW&WAGS'D7#HG39&'\1V?R@P,2]8DWI20M(L
M"<TDJ%C8IQ\H_+D$#_^H^* >BV>(,D"!S-XA':Y ;;#["KZM^Y)9W6^@N[>6
M5W_-".[Y2D%MQY.53):]_['XGFM'=Z"^!CQJ>#"25WU%!CX^"9VRT7) 2?2*
M<B?.)E35WMH0D6I")E67:'A0)4(;ZZH'VF>PZ_)9M_DS?_\CMY^VS7N IY>E
M,+).JA/:)_N;*F;"@:5?!1<H^V6)Y_YL2L-6R9EGA#;.<_]5\W:_*\JR9V'T
M[Z[W7YEA+8=V%F4E$D)-,.%^L;!9C%$$Z5;\H0 ?9;6WEQ X+YUP,/W\\/O<
M"+]Q:H90ARPHO,LK-Y&'XG^/5?[+SY (';JD]4]BB;_4AL9TW&,[PR499=4+
MD2H<P ++A]8" QX,&8T]3&5: ?BW.4)XPY"B+(,!#UAC)E#@M2"!<5%QC^A,
M35&C@V5./5@$_+_+O),)E5>R^J3X/9(VR^X*ZH.JSB0 T>YO?2Q:"[2 'B9+
ME=E;]4H/GWC7ZC?^"_\'>"1A_?\_4$L#!!0    ( #N .UFODM$9ISP  (G:
M P 4    97-P+3(P,C0P-C,P7W!R92YX;6SM?6MSV\:2Z/?S*[2^7^ZME"/;
M<9PXE9PMZN4HD45%E.R3;&VE(&!(3@P"S "@Q/SZ.X,'B3=F!CUL4%+5GHTL
MD=,]_9KNGNZ>'__[8>$>K @+J._]].+UUZ]>'!#/]AWJS7YZ<3MY.9H<GY^_
M^.]_'QS\Z\?_>OGRX /Q"+-"XAS<K0^._<5R8M.#&V9YP=1GBX/_&R[^W\'+
M@WD8+G\X/+R_O__:YI\);,I(X$?,)H'XQ<'+EWS!;,EC1L2"/QS<S*.#"5D>
MO'EW\.;5#V_?_O#F_<'MS3'_QYNWR5?^]:-+O2]W5D ..-Y>\-.+'*2'.^9^
M[;/9X9M7K[XYS#[X(OGD#P_B%X7/WW\3?_KU^_?O#^._;CX:T+H/\F5?'_[G
MX\7$GI.%]9)Z06AYM@ 0T!^"^)<7OFV%,24[\3IH_(3XU\OL8R_%KUZ^?O/R
MF]=?/P3.BX1N!P<_,M\EUV1Z$&/^0[A>DI]>!'2Q= 5"\>_FC$Q_>D&"Y4M!
MP%?OOGDE5O@__!=_LC^/?2_P7>H(RA]9KMC(9$Y(^.) +'Q[?;[9 O\\60NN
M'8J_'#9^\?#?)O'Z\\IBQ OG)*2VY0;::);7@<?ZG*O/@DQ"_O."0U+"M/S=
MPW^#,'LRYYN>^Z[#]?ST[XB&ZQN^Q!N??=.)7<M7#V-9-(N?*MOE5X+#/L_
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
M4)D2W8E9R?-_"5;G'E^3E.L:0*9GU8)!95R+K):'9M73",R7U-:T2]_SBR;
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
M'FNA"GT?#;PVI>$F<H/Z9KELP@[]\@;(C]1?JZ-QC]8)L/?7)&\ET*H(]]I
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
M)[VBX-1*]#HFG%)_<T\(^Z RO:DXX)*PNC&!G=KS%*8%GI"['$G*;Q2VZ0G
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
M=?N9AL1O@9R1ZBX9B$,M 6]OGI"B9;$T2X=E%_S4-5("DEMX/QF0IPQRP95
M)>MY$S5]QML%)0 .\QV+;I9VT1&N,>FY>W!PW8.]Z[2>NP>'U#T(\ KN8W,$
M+R!*\(R./XA34KMR Q-@0W5 6J_<NPB(7 ZVK0S)&ECCH6EDZ9*8M)Z3EJ_%
MOV_<#/05!Q1: ST"6R4&CB<:_FY3.0^H[;@D.WM_3H#"/B& #4=,O1ZG@A]:
M;MX3,G65E3V&Y4_#.6E[P@WZ>JOVY2V16Z=>)#JH.%FM9"JZX8?=%##0=$K3
M^\TSPJ7!<BL@@3?6!0W3/>W!]D+#5A=!,:_=4N0FH;@=]YP+_N%=\;P#)NXY
M"\O[+O*BOIF0/076L&5@YG=!>P0*WTE0R,H1P/-L-V<6NN\D*>_%F_5V3NJ8
M[H+/9')8<^U[D";<)+F7)Q^..8FHL9>V-)'0-9XRX$;9V2^.@4@4:!0^C$"
M+HQPS]Y^<I376Q#N8,T-Y&B(#F..KA/9 M-S+\$^B%PQ3>R,$TVA.D5I.6P;
MW5\$U*B'?(TGL]V"#YF+=Q',1R,J2.E4'4U1-1/-Y,>R#S)8BS="&WH3:HV$
M^II8ED*7YQI4PQ@P*H/F"5U1AWML8V_DQJL01V">O!X%Q.QV&"A7_28YWT%2
MU#DM,OA?^L*!%V3AWGT:K-0_Y6A@W(4!!'$<T5V<)ZJ< IXG R]ZXW!.V,CY
M*TJ[AA&$JX+"XQ6?*K7!*A_@!*0N<;83L:@%_+B#VGI:0]WI'9C,4&4).;Z3
M9,ZUQ=UL:MUQLDBTU6N&7)4L(#'V]GL+).T4;H5FYCKO6D%A)PHDV%B7FJ\G
M&_+[Z!7D^ _9[U(/(7TG5I2HCFR;198;Q/\E>84QS7]=M' -L(S&M(J*-C>&
M+U9Y=Y-O)KW>"&(G8_?2U(K-4 P.H!BU4Q\P-0DC/KNJV%, /##+HJ=@K5+3
M79*W:_-219%OD&]/S'=QF'5ON1(I*(E%!J?P^MR5(1GN&!+]S>XLRV0$1>1!
MN^;M!P@?H=*?())IHEN@ <B^'B_=.MDJ,_W;">IR"'TXGW.K=Q+O-L ;RI&D
M'O0V$1#Y_KL>0P1'4PKZ8,Q!NSITB\#PG,IV?,M6SUK2,!DZNQE](XR;P5-!
M!YE'(R[RY!^H.2%+BV;8[T9(RC ?C2Q4B GX;"=(.M]\/K06U%!< RG1;RU:
MATIAEGW /CF&#*>U1FIA^]U!!'L=OEO+SN'N],S5G&]J9D#'M6UN0!=+UU\3
M,@E]^\OXWN,&9$Z7PHO9 CZ/?S959*Z.0(_BT%9@EY$8?#">;NJ5ZLJ_#&^X
M"0=L8Z@O)X7[=CWZH\ZSEL-Y$@7;NB,<D2FA@%RCL4-Y*=,>\Q5[^7VCV=$G
M(!E%.@-VXP/+0^::)/B:FGROA\-3.'$:Z0]9(FK&+_Q,Z&S.S\C1BC!K1KAG
M&RV6<:F:/QW'/XSN+>9T.8U:L[8R.IU[RR@,?HLL+Z1B&Z*.;NJS12(F9OQ%
M1>"::EN?[A\Q9GDSDHS5VG[DREK'@V0%O3?HY1@B8D5;S(M)*^(-="J:QQ?Y
M45\MD2N,\C7/450WU<C^/ODN7T;$ROLBLR6,4?,3 Q7:,E.1,\R@>[RFP9<S
M1CA].6XD"(<NMK7X/IO:3HZB=H_%R-]U[^].12O%"Q.O38BJ&42Q7Q>'$5)#
M3 2+'G9M4L6M=;C>OMB>5$7=S"TO"2F"#WR)D(==5X11WRG%(/$?Q=M0I@+9
MX>SKR9IH> F!;+8S$VHGN8,DIA;=8IP )L+J3:J"L!6U&SI81[,9BZ=_GM#
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
M_.&V!8;)CZY=HWG$XO*<KD@.)P6?N/'+R,F61C:T[1=[8GGQKK.1%<"5 OO
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
M1.($"NP&S]U8#^U6RRJX;0D678[(UP$E2GB3:SQSF5-1%IT+Q(_P)DYY199
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
M\"6UOXX/CQR'CQ\KS-,IUF^@9@19T'6H2KAL<5.TBA$I>FF@/%/VUF'KY^/
M"$]&CI<<#3@[/C112]2]AGJ!< ^)043EX<J(>,='^SCHBP!3*/) E8(24L5!
MR8FOXB,_?ZM@!>*]<J:R"6).7*V6[9&]OM1'"!B6E5;A6.6:M[S;&V":SD?K
MV@G]H UAV'#W"'*J75FC,_#,&QD.6:<>"B4WMB8:V,,4_=8@A.??\0:,-_CQ
M.][@+X,W"/$0%[J: TS^X%)SYIB5"SP08<&\IXC.$<(36(-@7%RN\ PP]LW(
M[2.64U0%<&@W1> Q*^]25HGG7C<X)N.#J53W@1UCYDDP!HC0U8PWC+4XJK;A
M(:DY%EHS-0*SC)D?O%WZ(QPSA9T.[6;?(KQY*'SIW<WS Q[ 3U3QF&"SE]'M
M"S$Z%CU:(:V<6%E,Q7-?9Z/PPQ]9WF!??R."V*/WFO!+?5(VT5Q@\2>,"U]T
MPT JD6[J+[1PTPR++VM?"/!RT%O.HL7VR-=X/D/[%MFQ'Q;B-,A:$=-.EM)-
M(2ASS:R2P*&+ 4/8T8T-.%RC-V4HHAN:8'7Y.W=K(K]]/?5]!71[]G3T<O>9
MN,!&Z)#.2K1N <)Y=_G0R:O/S4S/SI6>3&$JSAWW!1U@3606=!E27Y7I7&T=
M7G0T-2FU+2KK*H^&EJU58KMV>-<7#MTYT>]AP*_FR7KR@Q"\]&DCT_,8%ON[
M-IFLE6[Y9IPW$"?<::+Y0/)^H7*9439'F5XXZ4LMG.94%C7T/W-\$8N](ZPC
MXYDP/*H-P077Z0ET5<G,17='Y-QOJG((L,95AAD[]4:;&W!\D.=/<KFJ4/9:
M.ZJF>6N%R -N_/XIL;R-)U8'(K$$3,@$'D/%WV%VO.TB[)/L+WT69V4Z_[/*
M_:T)XM>Z6D^[\>?WN*48+I2I!QSP\3J? 7M\?CL$'4$25)58Z)OA54F0A'_C
M$^-WZP;?J D>& \$87=X$5DJ?Y\,UVGH,ICEJV4&2V<)7>CL1E?RU(QM.$@L
MIM\C_C8W $ F;D%D")9+LJCRB9R0 ]1Y^UZ?-B"R/B$6+1.>N XF@"K=_K*(
M;&4S_JS8I KV@HZW4"F2VFPPT<*WG;"!FJET0D[:WX74='A!T797-2W<C=3
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
MK7X,QJ LN#G=9UVI']M\<1:?H.9+]4]02P,$%     @ .X [6?K&Q&[X P
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
MW6# 4 GS;5/DMB;(%<!!B8'0MZU%$46&7%ND/!8 -@10!_,+!E!)R>]QSJD
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
M;<"V>07?A]O,XK"[F2 4@N1OG3X"DN%.H1BTA+U=*Z89C04IAER=1S3VO)@
M^_'H@<ZE8S8D3FEBBRSA>+!3&D,H&S4@&,)]KJ)A0$C:'JZL+._6C [$\:6:
M3-H6"0J#24VCXVHV0O@^8^L^9JZP9\J>#=+99X6X%//1D=<""Z3E="JZ<F+M
M!J>80P=D"K4HP;GZ,P&<Z#BC!XB9N5WPLNC>9WMH35MS%+\.6_K$ZC1)DQ%3
M&RY&J6W7'19_IW/ON2DU&"<J;E-^9^F+2<:-D1,_^3 NF3*<=85@P&\VPE%N
MUR^^,2===V*BFRP786^O2XS!$TI/>>&W?*&&X(.HYM9B .ESN$%@1&4P ?J^
M8SAA$5OZ,C )V^H-NF9$ZZK]*Y58FRE20RC!1CEVLH05_$:6B&CDA&[1]8%E
MPE,BY,0?1./V814B[DPCXA4T\D9HX94JT02%;!L(%^ZTF'HH0FSA (XP22\M
MY*D/;4F5,$[M;!]A*V(T0GQJG59C;7FT<SSL/[#)/<*N=BN"J\U@Q0&,:< T
M#?>NJ4>ROH2?P"NUD:!S;\PN^X!R"7@H!V(T^Y1Q ;D0(<6;AG-2.AJ'F@CP
MH1T-:$EP%<SP#*CHK +(FMCQ37 6A=5ZXZ];[9PBV6(*N'[)H(MUX[.%1]8)
MP3-J83,:UBS0GHJF(_+>R9&5NJCJ"E>CQRX7N+LB8AJ2;%WCW:$_<^VV\]/(
MXCB'&^;B5DKEN+K(A/)GI^<WK8 R%PH@V2(F$Q+<MVR'=?5[?F&#KI6AH*Y9
MR$;H^"A22HOMD'WX4%[(R8)HL 29@($45-AX+\,X<P6Z6:<@&T&_$Z!8K5&,
M3[4(G:"TD:"^ O('"DA^Q_<&T#E"]E M.DN(8BPZ@N@!X\+X+9>9QYL=)^HU
MX[)P)B;#(S$MH_$(QE#:P\8%8Q%H.,$Q%+7JD[M:6&PC.#BB-6)9!*.+F*RQ
MPZHCF'[/1R3.UHE[(*,A,!1.S1F+=C8!K[H:#.U+<Q68A[X+)@VB>[?!SMK%
MC:%Z]X&CC18=,.)TDF<36MB&#_@D40M_NP:$J+FPY@4-$(LM>E)9TKXE3)!A
M$P)Z$1B+'.C"!EXN*TY(LSXI-33;^:T:%)0UWUP;HVU:J%8S$K=,U<4"H D=
M^3 '?A"1P!DCMA9-5CKRK4H<!.X,:&^G@B *#!BY<IZ"R2*5\4<?^G,L=92
MJFT5NW#HH*2385W[?SR7L:BG[/<* U$*VS1.;^,B\*3,HJQ9W3:0CSEUE%0[
MI!SZ/5WA^4L4SWAY:9W.VQ:Y:-2GEJ/X*,9@WD1P*3S(-F7*\&#Q58<+1TI)
MISD^=)"C)SOQ_A8#@ !,:RS7[0!=-KAQUB-S1ST.HKXM?"F-NKFB^B^=_KNL
MR'YEZY,UX8C+?B_F_M>S^?B[NA#V_;,4PAZ_SJZ2V=,5PG[X X6PSRQZ?2VE
MK#W\?Q?8_YD!_C\/_@=02P,$%     @ .X [62H,@WX9#0  N T   T   !I
M;6%G95\P,#$N:G!GG=5Y--3_OP?PSY@Q@[$WEF$8^Y)=]FBJR98BQ(PE)<)4
MFH9O=DG9(K(D+2);EC#9AV3)&B);PD\81&3?QL3,3]_?[][[SSWWW'N?[_/Z
MZ_4Z[W,>YW7.^\W\QIP">,^:F)L (! (N')X .8X@ 78H% 8E)4-!H.QL[-Q
M<"*X..%P3B3_$1Z$F A:7$P$A9*04967D%*61J$4=!65U36TM+30\OI&>IJ&
MJL>T-/]< F)C9^>$<PIS<0EK2J(D-?_/838!?&R &= (!DD!+'P@,!^(V0J@
M 0#$"OH[P+\#8@%#6*$P-G8.^.% %2_  @*#62!@5E8(Y+ ;>M@'('RL_)(:
MIZ!'K%UA4B2$9GA2%IOTZ;)F 9O^-9EC5WWNLW,("@DC163EY!44CVIIZ^CJ
MZ1M@SQB;F)J9G[6]:&>/PSLXNKE?\_#T(ESW_>N.GW] 8-"#B,BHZ)B'L<DI
M3U*?ICU[_B([)S?O37Y!85%Y1655=0VEMNYC2VM;>T?GIZZ!P:'AKR/?1L>F
MJ3.S<S_F%WXNKF]L;FWO[-+VZ']<(  ,^H_\MRZ^0Q<+! *&P/ZX0"S^?P;X
M(*R2&E#^4]8P5](1*<UP-L3II*RR9G;I8S9K E=]^CD$9;2F9=?_T/Z6_>]@
M]_]?LO^$_9=K#. $@PZ7!^8#,, N72'['H<B_&JBNE$,_0NX(%<E%@P>N"<8
MJ_":Y5_U&4#8>"2^0P"+1Y&WLNX?D]F0L4X@2[."U[4_70]#&*KEF_7+SKCT
M8.9>92,QUFW.DHK[1V>[SAY_%8\D'TNAHF.V64RBIY:J;0<L$DW"N#&O[ (;
M5*Y?]H%;"!A%-9G.IS@>N%A0"2$]!T4__8*J5 )FOPO0\GQ35"G08'A)8Z<=
MLAZYKJIN-O0F32SE N9KB6LV$YBCR@Z'=?61.G.I#<&U:=03]^"?54MCZE?Z
M7C1F:GN:TQJI<%-XR-/=]03NN8W)3?2THR&7"1GZ7.F(6&YQ\-1/"^>:R)#
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
MO%&%%L3C:HPX6SSWGFWPD9_6T!6;?F,/+X2U,? _51AS])]02P$"% ,4
M"  [@#M9)%;NPCT4 0!#B L $               @ $     97-P+3(P,C0P
M-C,P+FAT;5!+ 0(4 Q0    ( #N .UG_O1S5[Q,  ,KA   0
M  "  6L4 0!E<W M,C R-# V,S N>'-D4$L! A0#%     @ .X [69=Z9,V)
M#P  @[D  !0              ( !B"@! &5S<"TR,#(T,#8S,%]C86PN>&UL
M4$L! A0#%     @ .X [6>KRO5<$/   9; # !0              ( !0S@!
M &5S<"TR,#(T,#8S,%]D968N>&UL4$L! A0#%     @ .X [60^73/^8EP
MI:<' !0              ( !>70! &5S<"TR,#(T,#8S,%]L86(N>&UL4$L!
M A0#%     @ .X [6:^2T1FG/   B=H# !0              ( !0PP" &5S
M<"TR,#(T,#8S,%]P<F4N>&UL4$L! A0#%     @ .X [67]).KR#%@  %G4
M  H              ( !'$D" &5X,3DM,2YH=&U02P$"% ,4    "  [@#M9
MIL2'+ P#   8#   "@              @ ''7P( 97@R,RTQ+FAT;5!+ 0(4
M Q0    ( #N .UG<%-4<T0<   PG   *              "  ?MB @!E>#,Q
M+3$N:'1M4$L! A0#%     @ .X [6:-]CS.C!P  :B8   H
M ( !]&H" &5X,S$M,BYH=&U02P$"% ,4    "  [@#M9&<98T1$$  "P#@
M"@              @ &_<@( 97@S,BTQ+FAT;5!+ 0(4 Q0    ( #N .UGZ
MQL1N^ ,  *D.   *              "  ?AV @!E>#,R+3(N:'1M4$L! A0#
M%     @ .X [6<WDS.,"$@  ^F    H              ( !&'L" &5X.3<M
M,2YH=&U02P$"% ,4    "  [@#M9*@R#?AD-  "X#0  #0
I@ %"C0( :6UA9V5?,# Q+FIP9U!+!08     #@ . $<#  "&F@(    !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>89
<FILENAME>esp-20240630_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2024"
  xmlns:ecd="http://xbrl.sec.gov/ecd/2024"
  xmlns:esp="http://espey.com/20240630"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2024"
  xmlns:us-gaap="http://fasb.org/us-gaap/2024"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="esp-20240630.xsd" xlink:type="simple"/>
    <context id="c0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <instant>2024-09-24</instant>
        </period>
    </context>
    <context id="c3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="c5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="c7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="c8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="c9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="c10">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="c11">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">esp:UnearnedESOPSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="c12">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="c13">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c14">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c15">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c16">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">esp:UnearnedESOPSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c17">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="c18">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="c19">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="c20">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="c21">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="c22">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">esp:UnearnedESOPSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="c23">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c24">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c25">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c26">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c27">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c28">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">esp:UnearnedESOPSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c29">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c32">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c33">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c34">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">esp:UnearnedESOPSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c35">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <instant>2022-07-01</instant>
        </period>
    </context>
    <context id="c36">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <instant>2023-07-01</instant>
        </period>
    </context>
    <context id="c37">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c38">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c39">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c40">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c41">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c42">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c43">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">esp:UnitsDeliveredMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">esp:ASC606Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c44">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">esp:UnitsDeliveredMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">esp:ASC606Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c45">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">esp:MilestonesAchievedMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">esp:ASC606Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c46">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">esp:MilestonesAchievedMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">esp:ASC606Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c47">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">esp:ASC606Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c48">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">esp:ASC606Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="c49">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">esp:ASC606Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c50">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c51">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c52">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryBillSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c53">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="c54">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="c55">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryBillSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="c56">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c57">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:PropertyPlantAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c58">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:PropertyPlantAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="c59">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c60">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="c61">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandBuildingsAndImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c62">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandBuildingsAndImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="c63">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c64">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="c65">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c66">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="c67">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-07-31</instant>
        </period>
    </context>
    <context id="c68">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-07-31</endDate>
        </period>
    </context>
    <context id="c69">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">esp:USFederalAndStateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c70">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">esp:USFederalAndStateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c71">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:FiveCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c72">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:FiveCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c73">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:FiveCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c74">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:FiveCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c75">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis">esp:EmployeeStockOwnershipPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c76">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis">esp:EmployeeStockOwnershipPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c77">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis">esp:EmployeeStockOwnershipPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c78">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">esp:NonQualifiedStockOptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c79">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">esp:NonQualifiedStockOptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c80">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">esp:IncentiveStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c81">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">esp:NonQualifiedStockOptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c82">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">esp:NonEmployeeDirectorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">esp:TwoThousandSeventeenPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c83">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">esp:NonEmployeeDirectorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">esp:TwoThousandSeventeenPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c84">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">esp:IndividualEmployeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">esp:TwoThousandSeventeenPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c85">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">esp:TwoThousandSeventeenPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c86">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">esp:TwoThousandSeventeenPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c87">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">esp:TwoThousandSeventeenPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c88">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">esp:TwoThousandSeventeenPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c89">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">esp:TwoThousandSeventeenPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c90">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">esp:RestrictedStockPlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">esp:TwoThousandSevenPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c91">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">esp:NonQualifiedStockOptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="c92">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="c93">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-30</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c94">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c95">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c96">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2023-09-30</endDate>
        </period>
    </context>
    <context id="c97">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c98">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c99">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c100">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="c101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <startDate>2022-10-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c102">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c103">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <unit id="usd">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="shares">
        <measure>shares</measure>
    </unit>
    <unit id="usdPershares">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="pure">
        <measure>pure</measure>
    </unit>
    <dei:DocumentType contextRef="c0" id="ixv-6767">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport contextRef="c0" id="ixv-6768">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate contextRef="c0" id="ixv-6769">2024-06-30</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate contextRef="c0" id="ixv-6770">--06-30</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus contextRef="c0" id="ixv-6771">2024</dei:DocumentFiscalYearFocus>
    <dei:DocumentTransitionReport contextRef="c0" id="ixv-6772">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="c0" id="ixv-6773">1-4383</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="c0" id="ixv-6774">ESPEY MFG. &amp; ELECTRONICS CORP.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="c0" id="ixv-6775">NY</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="c0" id="ixv-6776">14-1387171</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="c0" id="ixv-6777">233 Ballston Avenue</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="c0" id="ixv-6778">Saratoga Springs</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="c0" id="ixv-6779">NY</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="c0" id="ixv-6780">12866</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="c0" id="ixv-6781">518</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="c0" id="ixv-6782">584-4100</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="c0" id="ixv-6783">Common Stock $.33-1/3 par value</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="c0" id="ixv-6784">ESP</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="c0" id="ixv-6785">NYSEAMER</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer contextRef="c0" id="ixv-6786">No</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers contextRef="c0" id="ixv-6787">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus contextRef="c0" id="ixv-6788">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="c0" id="ixv-6789">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="c0" id="ixv-6790">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="c0" id="ixv-6791">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="c0" id="ixv-6792">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag contextRef="c0" id="ixv-6793">false</dei:IcfrAuditorAttestationFlag>
    <dei:DocumentFinStmtErrorCorrectionFlag contextRef="c0" id="ixv-6794">false</dei:DocumentFinStmtErrorCorrectionFlag>
    <dei:EntityShellCompany contextRef="c0" id="ixv-6795">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat contextRef="c1" decimals="0" id="ixv-6796" unitRef="usd">36703889</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="c2"
      decimals="INF"
      id="ixv-6797"
      unitRef="shares">2744458</dei:EntityCommonStockSharesOutstanding>
    <dei:DocumentsIncorporatedByReferenceTextBlock contextRef="c0" id="ixv-197">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Portions of the registrant's definitive proxy
statement relating to the 2024 Annual Meeting of Shareholders, to be filed with the Securities and Exchange Commission, are incorporated
by reference in Part III, Items 10 through 14 on Form 10-K as indicated herein.&lt;/p&gt;</dei:DocumentsIncorporatedByReferenceTextBlock>
    <dei:AuditorFirmId contextRef="c0" id="ixv-6798">317</dei:AuditorFirmId>
    <dei:AuditorName contextRef="c0" id="ixv-6799">Freed Maxick CPAs, P.C.</dei:AuditorName>
    <dei:AuditorLocation contextRef="c0" id="ixv-6800">Buffalo, New York</dei:AuditorLocation>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c3" decimals="0" id="ixv-6801" unitRef="usd">4351970</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c4" decimals="0" id="ixv-6802" unitRef="usd">2748755</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="c3" decimals="0" id="ixv-6803" unitRef="usd">18878631</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="c4" decimals="0" id="ixv-6804" unitRef="usd">11964673</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c3" decimals="0" id="ixv-6805" unitRef="usd">3000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c4" decimals="0" id="ixv-6806" unitRef="usd">3000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c3" decimals="0" id="ixv-6807" unitRef="usd">6635490</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c4" decimals="0" id="ixv-6808" unitRef="usd">5755282</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:IncomeTaxesReceivable contextRef="c4" decimals="0" id="ixv-6809" unitRef="usd">35666</us-gaap:IncomeTaxesReceivable>
    <us-gaap:InventoryRawMaterials contextRef="c3" decimals="0" id="ixv-6810" unitRef="usd">1693448</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials contextRef="c4" decimals="0" id="ixv-6811" unitRef="usd">1889702</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryWorkInProcess contextRef="c3" decimals="0" id="ixv-6812" unitRef="usd">1645973</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryWorkInProcess contextRef="c4" decimals="0" id="ixv-6813" unitRef="usd">681300</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryForLongTermContractsOrPrograms contextRef="c3" decimals="0" id="ixv-6814" unitRef="usd">15904588</us-gaap:InventoryForLongTermContractsOrPrograms>
    <us-gaap:InventoryForLongTermContractsOrPrograms contextRef="c4" decimals="0" id="ixv-6815" unitRef="usd">17318579</us-gaap:InventoryForLongTermContractsOrPrograms>
    <us-gaap:InventoryNet contextRef="c3" decimals="0" id="ixv-6816" unitRef="usd">19244009</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="c4" decimals="0" id="ixv-6817" unitRef="usd">19889581</us-gaap:InventoryNet>
    <esp:DeferredTaxAssetsCurrent contextRef="c3" decimals="0" id="ixv-6818" unitRef="usd">895154</esp:DeferredTaxAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent contextRef="c3" decimals="0" id="ixv-6819" unitRef="usd">3231402</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent contextRef="c4" decimals="0" id="ixv-6820" unitRef="usd">4282477</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="c3" decimals="0" id="ixv-6821" unitRef="usd">53236656</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="c4" decimals="0" id="ixv-6822" unitRef="usd">44676434</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c3" decimals="0" id="ixv-6823" unitRef="usd">3306275</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c4" decimals="0" id="ixv-6824" unitRef="usd">2825089</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Assets contextRef="c3" decimals="0" id="ixv-6825" unitRef="usd">56542931</us-gaap:Assets>
    <us-gaap:Assets contextRef="c4" decimals="0" id="ixv-6826" unitRef="usd">47501523</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent contextRef="c3" decimals="0" id="ixv-6827" unitRef="usd">3751209</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent contextRef="c4" decimals="0" id="ixv-6828" unitRef="usd">1212375</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedSalariesCurrent contextRef="c3" decimals="0" id="ixv-6829" unitRef="usd">928163</us-gaap:AccruedSalariesCurrent>
    <us-gaap:AccruedSalariesCurrent contextRef="c4" decimals="0" id="ixv-6830" unitRef="usd">890748</us-gaap:AccruedSalariesCurrent>
    <us-gaap:AccruedVacationCurrent contextRef="c3" decimals="0" id="ixv-6831" unitRef="usd">511144</us-gaap:AccruedVacationCurrent>
    <us-gaap:AccruedVacationCurrent contextRef="c4" decimals="0" id="ixv-6832" unitRef="usd">685188</us-gaap:AccruedVacationCurrent>
    <us-gaap:OtherEmployeeRelatedLiabilitiesCurrent contextRef="c3" decimals="0" id="ixv-6833" unitRef="usd">757552</us-gaap:OtherEmployeeRelatedLiabilitiesCurrent>
    <us-gaap:OtherEmployeeRelatedLiabilitiesCurrent contextRef="c4" decimals="0" id="ixv-6834" unitRef="usd">547747</us-gaap:OtherEmployeeRelatedLiabilitiesCurrent>
    <us-gaap:AccruedPayrollTaxesCurrent contextRef="c3" decimals="0" id="ixv-6835" unitRef="usd">56862</us-gaap:AccruedPayrollTaxesCurrent>
    <us-gaap:AccruedPayrollTaxesCurrent contextRef="c4" decimals="0" id="ixv-6836" unitRef="usd">66042</us-gaap:AccruedPayrollTaxesCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="c3" decimals="0" id="ixv-6837" unitRef="usd">9043422</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="c4" decimals="0" id="ixv-6838" unitRef="usd">8081838</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:TaxesPayableCurrent contextRef="c3" decimals="0" id="ixv-6839" unitRef="usd">220607</us-gaap:TaxesPayableCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="c3" decimals="0" id="ixv-6840" unitRef="usd">15268959</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="c4" decimals="0" id="ixv-6841" unitRef="usd">11483938</us-gaap:LiabilitiesCurrent>
    <esp:DeferredTaxLiability contextRef="c4" decimals="0" id="ixv-6842" unitRef="usd">137827</esp:DeferredTaxLiability>
    <us-gaap:Liabilities contextRef="c3" decimals="0" id="ixv-6843" unitRef="usd">15268959</us-gaap:Liabilities>
    <us-gaap:Liabilities contextRef="c4" decimals="0" id="ixv-6844" unitRef="usd">11621765</us-gaap:Liabilities>
    <us-gaap:CommonStockSharesAuthorized contextRef="c3" decimals="0" id="ixv-6845" unitRef="shares">10000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized contextRef="c4" decimals="0" id="ixv-6846" unitRef="shares">10000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued contextRef="c3" decimals="0" id="ixv-6847" unitRef="shares">3129874</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued contextRef="c4" decimals="0" id="ixv-6848" unitRef="shares">3129874</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding contextRef="c3" decimals="0" id="ixv-6849" unitRef="shares">2733958</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding contextRef="c4" decimals="0" id="ixv-6850" unitRef="shares">2702633</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesHeldInEmployeeTrustShares contextRef="c3" decimals="0" id="ixv-6851" unitRef="shares">211487</us-gaap:CommonStockSharesHeldInEmployeeTrustShares>
    <us-gaap:CommonStockSharesHeldInEmployeeTrustShares contextRef="c4" decimals="0" id="ixv-6852" unitRef="shares">233645</us-gaap:CommonStockSharesHeldInEmployeeTrustShares>
    <us-gaap:CommonStockValue contextRef="c3" decimals="0" id="ixv-6853" unitRef="usd">1043291</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue contextRef="c4" decimals="0" id="ixv-6854" unitRef="usd">1043291</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock contextRef="c3" decimals="0" id="ixv-6855" unitRef="usd">23930428</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock contextRef="c4" decimals="0" id="ixv-6856" unitRef="usd">23283245</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="c3" decimals="0" id="ixv-6857" unitRef="usd">6544</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="c4" decimals="0" id="ixv-6858" unitRef="usd">-2429</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="c3" decimals="0" id="ixv-6859" unitRef="usd">26004790</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="c4" decimals="0" id="ixv-6860" unitRef="usd">21867720</us-gaap:RetainedEarningsAccumulatedDeficit>
    <esp:TotalStockholdersEquityBeforyEsopAndTreasuryStock contextRef="c3" decimals="0" id="ixv-6861" unitRef="usd">50985053</esp:TotalStockholdersEquityBeforyEsopAndTreasuryStock>
    <esp:TotalStockholdersEquityBeforyEsopAndTreasuryStock contextRef="c4" decimals="0" id="ixv-6862" unitRef="usd">46191827</esp:TotalStockholdersEquityBeforyEsopAndTreasuryStock>
    <esp:UnearnedEsopSharesCost contextRef="c3" decimals="0" id="ixv-6863" unitRef="usd">3868093</esp:UnearnedEsopSharesCost>
    <esp:UnearnedEsopSharesCost contextRef="c4" decimals="0" id="ixv-6864" unitRef="usd">4273378</esp:UnearnedEsopSharesCost>
    <us-gaap:TreasuryStockCommonShares contextRef="c3" decimals="0" id="ixv-6865" unitRef="shares">395916</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonShares contextRef="c4" decimals="0" id="ixv-6866" unitRef="shares">427241</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockValue contextRef="c3" decimals="0" id="ixv-6867" unitRef="usd">5842988</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue contextRef="c4" decimals="0" id="ixv-6868" unitRef="usd">6038691</us-gaap:TreasuryStockValue>
    <us-gaap:StockholdersEquity contextRef="c3" decimals="0" id="ixv-6869" unitRef="usd">41273972</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c4" decimals="0" id="ixv-6870" unitRef="usd">35879758</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="c3" decimals="0" id="ixv-6871" unitRef="usd">56542931</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="c4" decimals="0" id="ixv-6872" unitRef="usd">47501523</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:Revenues contextRef="c0" decimals="0" id="ixv-6873" unitRef="usd">38736319</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c5" decimals="0" id="ixv-6874" unitRef="usd">35592323</us-gaap:Revenues>
    <us-gaap:CostOfRevenue contextRef="c0" decimals="0" id="ixv-6875" unitRef="usd">28083259</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c5" decimals="0" id="ixv-6876" unitRef="usd">27541785</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit contextRef="c0" decimals="0" id="ixv-6877" unitRef="usd">10653060</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c5" decimals="0" id="ixv-6878" unitRef="usd">8050538</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="c0" decimals="0" id="ixv-6879" unitRef="usd">4113608</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="c5" decimals="0" id="ixv-6880" unitRef="usd">3750524</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss contextRef="c0" decimals="0" id="ixv-6881" unitRef="usd">6539452</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c5" decimals="0" id="ixv-6882" unitRef="usd">4300014</us-gaap:OperatingIncomeLoss>
    <us-gaap:InvestmentIncomeInterest contextRef="c0" decimals="0" id="ixv-6883" unitRef="usd">728299</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest contextRef="c5" decimals="0" id="ixv-6884" unitRef="usd">359617</us-gaap:InvestmentIncomeInterest>
    <us-gaap:OtherNonoperatingIncome contextRef="c0" decimals="0" id="ixv-6885" unitRef="usd">27263</us-gaap:OtherNonoperatingIncome>
    <us-gaap:OtherNonoperatingIncome contextRef="c5" decimals="0" id="ixv-6886" unitRef="usd">46836</us-gaap:OtherNonoperatingIncome>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c0" decimals="0" id="ixv-6887" unitRef="usd">755562</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c5" decimals="0" id="ixv-6888" unitRef="usd">406453</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c0" decimals="0" id="ixv-6889" unitRef="usd">7295014</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c5" decimals="0" id="ixv-6890" unitRef="usd">4706467</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c0" decimals="0" id="ixv-6891" unitRef="usd">1479874</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c5" decimals="0" id="ixv-6892" unitRef="usd">1029336</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss contextRef="c0" decimals="0" id="ixv-6893" unitRef="usd">5815140</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c5" decimals="0" id="ixv-6894" unitRef="usd">3677131</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax contextRef="c0" decimals="0" id="ixv-6895" unitRef="usd">8973</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax contextRef="c5" decimals="0" id="ixv-6896" unitRef="usd">-497</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="c0" decimals="0" id="ixv-6897" unitRef="usd">5824113</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="c5" decimals="0" id="ixv-6898" unitRef="usd">3676634</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:EarningsPerShareBasic
      contextRef="c0"
      decimals="2"
      id="ixv-6899"
      unitRef="usdPershares">2.34</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c5"
      decimals="2"
      id="ixv-6900"
      unitRef="usdPershares">1.5</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c0"
      decimals="2"
      id="ixv-6901"
      unitRef="usdPershares">2.29</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c5"
      decimals="2"
      id="ixv-6902"
      unitRef="usdPershares">1.49</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c0"
      decimals="INF"
      id="ixv-6903"
      unitRef="shares">2489165</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c5"
      decimals="INF"
      id="ixv-6904"
      unitRef="shares">2454856</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c0"
      decimals="INF"
      id="ixv-6905"
      unitRef="shares">2536967</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c5"
      decimals="INF"
      id="ixv-6906"
      unitRef="shares">2471016</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c6"
      decimals="INF"
      id="ixv-6907"
      unitRef="shares">2702633</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c6" decimals="0" id="ixv-6908" unitRef="usd">1043291</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c7" decimals="0" id="ixv-6909" unitRef="usd">23104693</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c8" decimals="0" id="ixv-6910" unitRef="usd">-1932</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c9" decimals="0" id="ixv-6911" unitRef="usd">18679857</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c10"
      decimals="INF"
      id="ixv-6912"
      unitRef="shares">427241</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c10" decimals="0" id="ixv-6913" unitRef="usd">-6038691</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c11" decimals="0" id="ixv-6914" unitRef="usd">-4687604</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c12" decimals="0" id="ixv-6915" unitRef="usd">32099614</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c13" decimals="0" id="ixv-6916" unitRef="usd">3677131</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c5" decimals="0" id="ixv-6917" unitRef="usd">3677131</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax contextRef="c5" decimals="0" id="ixv-6918" unitRef="usd">104</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax>
    <us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax contextRef="c14" decimals="0" id="ixv-6919" unitRef="usd">-497</us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax contextRef="c5" decimals="0" id="ixv-6920" unitRef="usd">-497</us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="c5" decimals="0" id="ixv-6921" unitRef="usd">3676634</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition contextRef="c15" decimals="0" id="ixv-6922" unitRef="usd">227132</us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition contextRef="c5" decimals="0" id="ixv-6923" unitRef="usd">227132</us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="c5"
      decimals="2"
      id="ixv-6924"
      unitRef="usdPershares">0.2</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:DividendsCommonStockCash contextRef="c13" decimals="0" id="ixv-6925" unitRef="usd">489268</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash contextRef="c5" decimals="0" id="ixv-6926" unitRef="usd">489268</us-gaap:DividendsCommonStockCash>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan contextRef="c15" decimals="0" id="ixv-6927" unitRef="usd">-48580</us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan contextRef="c16" decimals="0" id="ixv-6928" unitRef="usd">414226</us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan contextRef="c5" decimals="0" id="ixv-6929" unitRef="usd">365646</us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c17"
      decimals="INF"
      id="ixv-6930"
      unitRef="shares">2702633</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c17" decimals="0" id="ixv-6931" unitRef="usd">1043291</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c18" decimals="0" id="ixv-6932" unitRef="usd">23283245</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c19" decimals="0" id="ixv-6933" unitRef="usd">-2429</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c20" decimals="0" id="ixv-6934" unitRef="usd">21867720</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c21"
      decimals="INF"
      id="ixv-6935"
      unitRef="shares">427241</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c21" decimals="0" id="ixv-6936" unitRef="usd">-6038691</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c22" decimals="0" id="ixv-6937" unitRef="usd">-4273378</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c4" decimals="0" id="ixv-6938" unitRef="usd">35879758</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c17"
      decimals="INF"
      id="ixv-6939"
      unitRef="shares">2702633</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c17" decimals="0" id="ixv-6940" unitRef="usd">1043291</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c18" decimals="0" id="ixv-6941" unitRef="usd">23283245</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c19" decimals="0" id="ixv-6942" unitRef="usd">-2429</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c20" decimals="0" id="ixv-6943" unitRef="usd">21867720</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c21"
      decimals="INF"
      id="ixv-6944"
      unitRef="shares">427241</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c21" decimals="0" id="ixv-6945" unitRef="usd">-6038691</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c22" decimals="0" id="ixv-6946" unitRef="usd">-4273378</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c4" decimals="0" id="ixv-6947" unitRef="usd">35879758</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c23" decimals="0" id="ixv-6948" unitRef="usd">5815140</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c0" decimals="0" id="ixv-6949" unitRef="usd">5815140</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax contextRef="c0" decimals="0" id="ixv-6950" unitRef="usd">1884</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax>
    <us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax contextRef="c24" decimals="0" id="ixv-6951" unitRef="usd">8973</us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax contextRef="c0" decimals="0" id="ixv-6952" unitRef="usd">8973</us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="c0" decimals="0" id="ixv-6953" unitRef="usd">5824113</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c25"
      decimals="INF"
      id="ixv-6954"
      unitRef="shares">31325</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c26" decimals="0" id="ixv-6955" unitRef="usd">-330659</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c27"
      decimals="INF"
      id="ixv-6956"
      unitRef="shares">-31325</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c27" decimals="0" id="ixv-6957" unitRef="usd">-195703</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c0" decimals="0" id="ixv-6958" unitRef="usd">-526362</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition contextRef="c26" decimals="0" id="ixv-6959" unitRef="usd">283673</us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition contextRef="c0" decimals="0" id="ixv-6960" unitRef="usd">283673</us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="c0"
      decimals="3"
      id="ixv-6961"
      unitRef="usdPershares">0.675</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:DividendsCommonStockCash contextRef="c23" decimals="0" id="ixv-6962" unitRef="usd">1678070</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash contextRef="c0" decimals="0" id="ixv-6963" unitRef="usd">1678070</us-gaap:DividendsCommonStockCash>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan contextRef="c26" decimals="0" id="ixv-6964" unitRef="usd">32851</us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan contextRef="c28" decimals="0" id="ixv-6965" unitRef="usd">405285</us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan contextRef="c0" decimals="0" id="ixv-6966" unitRef="usd">438136</us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c29"
      decimals="INF"
      id="ixv-6967"
      unitRef="shares">2733958</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c29" decimals="0" id="ixv-6968" unitRef="usd">1043291</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c30" decimals="0" id="ixv-6969" unitRef="usd">23930428</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c31" decimals="0" id="ixv-6970" unitRef="usd">6544</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c32" decimals="0" id="ixv-6971" unitRef="usd">26004790</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c33"
      decimals="INF"
      id="ixv-6972"
      unitRef="shares">395916</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c33" decimals="0" id="ixv-6973" unitRef="usd">-5842988</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c34" decimals="0" id="ixv-6974" unitRef="usd">-3868093</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c3" decimals="0" id="ixv-6975" unitRef="usd">41273972</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c0" decimals="0" id="ixv-6976" unitRef="usd">5815140</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c5" decimals="0" id="ixv-6977" unitRef="usd">3677131</us-gaap:NetIncomeLoss>
    <us-gaap:ShareBasedCompensation contextRef="c0" decimals="0" id="ixv-6978" unitRef="usd">283673</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="c5" decimals="0" id="ixv-6979" unitRef="usd">227132</us-gaap:ShareBasedCompensation>
    <us-gaap:Depreciation contextRef="c0" decimals="0" id="ixv-6980" unitRef="usd">453517</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="c5" decimals="0" id="ixv-6981" unitRef="usd">484920</us-gaap:Depreciation>
    <us-gaap:EmployeeStockOwnershipPlanESOPCompensationExpense contextRef="c0" decimals="0" id="ixv-6982" unitRef="usd">438136</us-gaap:EmployeeStockOwnershipPlanESOPCompensationExpense>
    <us-gaap:EmployeeStockOwnershipPlanESOPCompensationExpense contextRef="c5" decimals="0" id="ixv-6983" unitRef="usd">365646</us-gaap:EmployeeStockOwnershipPlanESOPCompensationExpense>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="c0" decimals="0" id="ixv-6984" unitRef="usd">-1032981</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="c5" decimals="0" id="ixv-6985" unitRef="usd">-40002</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment contextRef="c0" decimals="0" id="ixv-6986" unitRef="usd">-590</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment contextRef="c5" decimals="0" id="ixv-6987" unitRef="usd">2500</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="c0" decimals="0" id="ixv-6988" unitRef="usd">880208</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="c5" decimals="0" id="ixv-6989" unitRef="usd">22108</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInIncomeTaxesReceivable contextRef="c0" decimals="0" id="ixv-6990" unitRef="usd">-35666</us-gaap:IncreaseDecreaseInIncomeTaxesReceivable>
    <us-gaap:IncreaseDecreaseInIncomeTaxesReceivable contextRef="c5" decimals="0" id="ixv-6991" unitRef="usd">35666</us-gaap:IncreaseDecreaseInIncomeTaxesReceivable>
    <us-gaap:IncreaseDecreaseInInventories contextRef="c0" decimals="0" id="ixv-6992" unitRef="usd">-645572</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories contextRef="c5" decimals="0" id="ixv-6993" unitRef="usd">1329132</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="c0" decimals="0" id="ixv-6994" unitRef="usd">-1051075</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="c5" decimals="0" id="ixv-6995" unitRef="usd">3289703</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="c0" decimals="0" id="ixv-6996" unitRef="usd">2538833</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="c5" decimals="0" id="ixv-6997" unitRef="usd">-866802</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedSalaries contextRef="c0" decimals="0" id="ixv-6998" unitRef="usd">37415</us-gaap:IncreaseDecreaseInAccruedSalaries>
    <us-gaap:IncreaseDecreaseInAccruedSalaries contextRef="c5" decimals="0" id="ixv-6999" unitRef="usd">263561</us-gaap:IncreaseDecreaseInAccruedSalaries>
    <esp:IncreaseDecreaseInVacationAccrual contextRef="c0" decimals="0" id="ixv-7000" unitRef="usd">-174044</esp:IncreaseDecreaseInVacationAccrual>
    <esp:IncreaseDecreaseInVacationAccrual contextRef="c5" decimals="0" id="ixv-7001" unitRef="usd">18808</esp:IncreaseDecreaseInVacationAccrual>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities contextRef="c0" decimals="0" id="ixv-7002" unitRef="usd">209805</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities contextRef="c5" decimals="0" id="ixv-7003" unitRef="usd">-204807</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <esp:IncreasedecreaseInPayrollAndOtherTaxesWithheld contextRef="c0" decimals="0" id="ixv-7004" unitRef="usd">-9180</esp:IncreasedecreaseInPayrollAndOtherTaxesWithheld>
    <esp:IncreasedecreaseInPayrollAndOtherTaxesWithheld contextRef="c5" decimals="0" id="ixv-7005" unitRef="usd">10750</esp:IncreasedecreaseInPayrollAndOtherTaxesWithheld>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability contextRef="c0" decimals="0" id="ixv-7006" unitRef="usd">961584</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability contextRef="c5" decimals="0" id="ixv-7007" unitRef="usd">4697364</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable contextRef="c0" decimals="0" id="ixv-7008" unitRef="usd">220607</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable contextRef="c5" decimals="0" id="ixv-7009" unitRef="usd">-54722</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="c0" decimals="0" id="ixv-7010" unitRef="usd">10595200</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="c5" decimals="0" id="ixv-7011" unitRef="usd">3899870</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c0" decimals="0" id="ixv-7012" unitRef="usd">5164165</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c5" decimals="0" id="ixv-7013" unitRef="usd">512016</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <esp:ProceedsFromGrantAward contextRef="c0" decimals="0" id="ixv-7014" unitRef="usd">4228722</esp:ProceedsFromGrantAward>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment contextRef="c0" decimals="0" id="ixv-7015" unitRef="usd">150</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment contextRef="c5" decimals="0" id="ixv-7016" unitRef="usd">2500</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireInvestments contextRef="c0" decimals="0" id="ixv-7017" unitRef="usd">26423984</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:PaymentsToAcquireInvestments contextRef="c5" decimals="0" id="ixv-7018" unitRef="usd">15902014</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities contextRef="c0" decimals="0" id="ixv-7019" unitRef="usd">19519000</us-gaap:ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities>
    <us-gaap:ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities contextRef="c5" decimals="0" id="ixv-7020" unitRef="usd">7645623</us-gaap:ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="c0" decimals="0" id="ixv-7021" unitRef="usd">-7840277</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="c5" decimals="0" id="ixv-7022" unitRef="usd">-8765907</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:PaymentsOfDividendsCommonStock contextRef="c0" decimals="0" id="ixv-7023" unitRef="usd">1678070</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:PaymentsOfDividendsCommonStock contextRef="c5" decimals="0" id="ixv-7024" unitRef="usd">489268</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:ProceedsFromRepurchaseOfEquity contextRef="c0" decimals="0" id="ixv-7025" unitRef="usd">526362</us-gaap:ProceedsFromRepurchaseOfEquity>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="c0" decimals="0" id="ixv-7026" unitRef="usd">-1151708</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="c5" decimals="0" id="ixv-7027" unitRef="usd">-489268</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect contextRef="c0" decimals="0" id="ixv-7028" unitRef="usd">1603215</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect contextRef="c5" decimals="0" id="ixv-7029" unitRef="usd">-5355305</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c4" decimals="0" id="ixv-7030" unitRef="usd">2748755</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c12" decimals="0" id="ixv-7031" unitRef="usd">8104060</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c3" decimals="0" id="ixv-7032" unitRef="usd">4351970</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c4" decimals="0" id="ixv-7033" unitRef="usd">2748755</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:IncomeTaxesPaidNet contextRef="c0" decimals="0" id="ixv-7034" unitRef="usd">2258965</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet contextRef="c5" decimals="0" id="ixv-7035" unitRef="usd">1159595</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:NatureOfOperations contextRef="c0" id="ixv-4115">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -0.75in"&gt;Note 1. Nature
of Operations&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Espey Mfg. &amp;amp; Electronics Corp. (the Company)
is a manufacturer of electronic equipment used primarily in military and industrial applications. The principal markets for the Company's
products are companies that provide electronic support to both military and industrial applications across the United States and at some
international locations.&lt;/p&gt;</us-gaap:NatureOfOperations>
    <us-gaap:SignificantAccountingPoliciesTextBlock contextRef="c0" id="ixv-4122">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Note 2. Summary of Significant Accounting Policies&lt;/p&gt;

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

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

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The majority of our sales are generated from military
contracts from defense companies, the Department of Defense, other agencies of the government of the United States and foreign governments,
for the design and development and/or manufacture of products. Sales are also generated from industrial manufacturers for similar services.
We provide our products and design and development services under fixed-price contracts. Under fixed-price contracts we agree to perform
the specified work for a pre-determined price. To the extent our actual costs vary from the estimates upon which the price was negotiated,
we will generate more or less profit or could incur a loss.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We account for a contract with a customer after
it has been approved by all parties to the arrangement, the rights of the parties are identified, payment terms are identified, the contract
has commercial substance, and collection of substantially all of the amount to which the entity will be entitled in exchange for the goods
or services that will be transferred to the customer is probable. We assess each contract at its inception to determine whether it should
be combined with other contracts. When making this determination, we consider factors such as whether two or more contracts were negotiated
and executed at or near the same time, or were negotiated with an overall profit objective.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We evaluate the products or services promised
in each contract at inception to determine whether the contract should be accounted for as having one or more performance obligations.
Significant judgment is required in determining performance obligations. We determine the transaction price for each contract based on
the consideration we expect to receive for the products or services being provided under the contract. The transaction price for each
performance obligation is based on the estimated standalone selling price of the product or service underlying each performance obligation.
Transaction prices on our contracts subject to the Federal Acquisition Regulations (FAR) are typically based on estimated costs plus a
reasonable profit margin.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We recognize revenue using the output method based
on the appraisal of results achieved and milestones reached or units delivered based on contractual shipment terms, typically shipping
point.&lt;/p&gt;

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

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

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Raw materials are valued at the lower of cost
(average cost) or net realizable value. Balances for slow-moving and obsolete inventory are reviewed on a regular basis by analyzing estimated
demand, inventory on hand, sales levels, market conditions, and other information and reduce inventory balances based on this analysis.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Inventory relating to contracts in process and
work in process is valued at cost, including factory overhead incurred to date. Contract costs include material, subcontract costs, labor,
and an allocation of overhead costs. Work in process represents spare units and parts and other inventory items acquired or produced to
service units previously sold or to meet anticipated future orders. Provision for losses on contracts is made when the existence of such
losses becomes probable and estimable.&#160;The provision for losses on contracts is included in other accrued expenses on the Company&#x2019;s
balance sheet.&#160;The costs attributed to units delivered under contracts are based on the estimated average cost of all units expected
to be produced.&#160; Certain contracts are expected to extend beyond twelve months.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The estimation of total cost at completion of
a contract is subject to numerous variables involving contract costs and estimates as to the length of time to complete the contract.&#160;Given
the significance of the estimation processes and judgments described above, it is possible that materially different amounts of expected
sales and contract costs could be recorded if different assumptions were used, based on changes in circumstances, in the estimation process.&#160;When
a change in expected sales value or estimated cost is determined, the change is reflected in current period earnings.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Contract Liabilities&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Contract liabilities include advance payments
and billings in excess of revenue recognized.&lt;/p&gt;

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

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

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Depreciation of plant and equipment is computed
on a straight-line basis over the estimated useful lives of the assets.&#160;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Estimated useful lives of depreciable assets are
as follows:&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 80%; border-collapse: collapse; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr style="vertical-align: top; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 50%; text-align: justify"&gt;Buildings and improvements &lt;/td&gt;
    &lt;td style="width: 50%; text-align: right"&gt;10 &#x2013; 50 years&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: top; "&gt;
    &lt;td style="text-align: justify"&gt;Machinery and equipment&lt;/td&gt;
    &lt;td style="text-align: right"&gt;3 &#x2013; 20 years&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: top; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Furniture and fixtures&lt;/td&gt;
    &lt;td style="text-align: right"&gt;7 &#x2013; 10 years&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

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

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company follows the provisions of Accounting
Standards Codification (&#x201c;ASC&#x201d;) Topic 740-10, "Accounting for Income Taxes."&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Under the provisions of ASC 740-10, deferred tax
assets and liabilities are recognized for the future tax consequences attributable to differences between the financial statement carrying
amounts of existing assets and liabilities and their respective tax bases.&#160;Deferred tax assets and liabilities are measured using
enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or
settled.&#160;The effect on deferred taxes and liabilities of a change in tax rates is recognized in earnings in the period that includes
the enactment date.&lt;/p&gt;

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

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

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Cash and cash equivalents consist of cash and
money market funds. The Company considers all highly liquid investments with original maturities of three months or less to be cash equivalents.&#160;&lt;/p&gt;

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

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

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company accounts for its investments in debt
securities in accordance with ASC 320-10-25, &#x201c;Accounting for Certain Investments in Debt and Equity Securities.&#x201d;&#160;Investments
in debt securities at June 30, 2024 and  2023 consisted of municipal bonds and treasury bills.&#160;The Company classifies investments
in debt securities as available-for-sale. Unrealized holding gains and losses, net of related tax effect, on available-for-sale debt securities
are excluded from earnings and are reported as a separate component of stockholders&#x2019; equity until realized.&#160;Realized gains
and losses for debt securities classified as available-for-sale are included in earnings and are determined using the specific identification
method.&#160;Interest income is recognized when earned.&#160;Fair values are based on quoted market prices available as of the balance
sheet date, and are therefore considered a Level 1 valuation.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Certificates of deposit held for investment with
an original maturity greater than three months are carried at amortized cost and reported as short-term investments on the balance sheets.
The type of certificates of deposit that the Company invests in are not considered debt securities under Financial Accounting Standards
Board ("FASB") Accounting Standards Codification (&#x201c;ASC&#x201d;) 320, Investments - Debt Securities.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Fair Value of Financial Instruments&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Accounting Standards Codification (&#x201c;ASC&#x201d;)
820 establishes a fair value hierarchy which requires an entity to maximize the use of observable inputs and minimize the use of unobservable
inputs when measuring fair value.&#160;The standard describes three levels of inputs that may be used to measure fair value:&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span&gt;&#x25fe;&lt;/span&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Level
1: Quoted prices (unadjusted) for identical assets or liabilities in active markets that the entity has the ability to access as of the
measurement date.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span&gt;&#x25fe;&lt;/span&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Level
2: Significant other observable inputs other than Level 1 prices such as quoted prices for similar assets or liabilities; quoted prices
in markets that are not active; or other inputs that are observable or can be corroborated by observable market data.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span&gt;&#x25fe;&lt;/span&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Level
3: Significant unobservable inputs that reflect a reporting entity&#x2019;s own assumptions about the assumptions that market participants
would use in pricing an asset or liability.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The carrying amounts of financial instruments,
including cash and cash equivalents, short term investment securities, accounts receivable, accounts payable and accrued expenses, approximated
fair value as of June 30, 2024 and 2023 because of the immediate or short-term maturity of these financial instruments.&#160;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Accounts Receivable and Allowance for Credit Losses&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company extends credit to its customers in
the normal course of business and collateral is generally not required for trade receivables.&#160;Exposure to credit risk is controlled
through the use of credit approvals, credit limits, and monitoring procedures.&#160;Accounts receivable are reported net of an allowance
for credit losses.&#160;The Company estimates the allowance based on its analysis of historical experience, current economic market conditions,
performance of specific account reviews, and other factored considerations to include, but not limited to, contracts covered by government
funding and the overall health of the industry. Interest is not charged on past due balances. Based on these factors, there was an allowance for credit losses of $3,000 at June 30, 2024 and 2023. Changes to the allowance for credit
losses are charged to expense and reduced by charge-offs, net of recoveries. The opening accounts receivable balance, net of allowance
for credit losses of $3,000, at July 1, 2022 and July 1, 2023 were $5,733,174 and $5,755,282, respectively.&lt;/p&gt;

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

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

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;ASC 260-10 &#x201c;Earnings Per Share (EPS)&#x201d;
requires the Company to calculate net income per share based on basic and diluted net income per share, as defined.&#160;Basic EPS excludes
dilution and is computed by dividing net income by the weighted average number of shares outstanding for the period.&#160;Diluted EPS
reflects the potential dilution that could occur if securities or other contracts to issue common stock were exercised or converted into
common stock.&#160;The dilutive effect of outstanding options issued by the Company are reflected in diluted EPS using the treasury stock
method.&#160;Under the treasury stock method, options will only have a dilutive effect when the average market price of common stock during
the period exceeds the exercise price of the options.&lt;/p&gt;

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

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

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Comprehensive income consists of net income and
other comprehensive income (loss).&#160;Other comprehensive income for fiscal years ended June 30, 2024 and 2023 consists of unrealized
holding gains (losses) on available-for-sale debt securities.&#160;&lt;/p&gt;

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

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

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The preparation of financial statements in conformity
with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that
affect the reported amount of assets and liabilities and 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. Actual results could differ from those estimates.&lt;/p&gt;

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

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

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In June 2016, the FASB issued ASU 2016-13, &#x201c;Financial
Instruments-Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments&#x201d;, &lt;span&gt;which
requires a financial asset measured at amortized cost basis to be presented at the net amount expected to be collected, with further clarifications
made more recently. For trade receivables, loans and other financial instruments, the Company will be required to use a forward-looking
expected loss model rather than the incurred loss model for recognizing credit losses which reflects losses that are probable. &lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Credit losses relating to available-for-sale
debt securities are required to be recorded through an allowance for credit losses rather than as a reduction in the amortized cost basis
of the securities. ASU 2016-13 is effective for public entities for fiscal years beginning after December 15, 2022, including interim
periods within those fiscal years. Upon adoption, the amendments in ASU 2016-13 should be applied on a prospective basis to all periods
presented relating to available-for-sale debt securities. For all other financial instruments the Company upon adoption will apply the
amendments on a modified-retrospective approach. The Company adopted the new guidance under ASU 2016-13 in the first quarter of fiscal
year 2024, and determined that the impact of the adoption on its financial statements is immaterial.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Recent Accounting Pronouncements Not Yet Adopted&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span&gt;In December
2023, the FASB issued ASU No. 2023-09, &#x201c;Income Taxes (&#x201c;Topic 740&#x201d;): Improvements to Income Tax Disclosures&#x201d;, which includes
amendments that further enhance income tax disclosures through the standardization and disaggregation of rate reconciliation categories
and income taxes paid. ASU 2023-09 is effective for fiscal years beginning after December 15, 2024 and is to be applied prospectively,
with early adoption and retrospective application permitted. We are currently evaluating the impact of this standard to our
financial statements.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Impairment of Long-Lived Assets&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Long-lived assets, including property, plant,
and equipment, are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of an asset may
not be recoverable.&#160;Recoverability of assets to be held and used is measured by a comparison of the carrying amount of an asset to
estimated undiscounted future cash flows expected to be generated by the asset.&#160;If the carrying amount of an asset exceeds its estimated
future cash flows, an impairment charge is recognized by the amount by which the carrying amount of the asset exceeds the fair value of
the asset.&#160;There were &lt;span style="-sec-ix-hidden: hidden-fact-10"&gt;&lt;span style="-sec-ix-hidden: hidden-fact-11"&gt;no&lt;/span&gt;&lt;/span&gt; impairments of long-lived assets in fiscal years 2024 and 2023.&#160;Assets to be disposed of are separately
presented in the balance sheet and reported at the lower of the carrying amount or fair value less costs to sell, and no longer depreciated.&#160;The
assets and liabilities of a disposed group classified as held for sale are presented separately in the appropriate asset and liability
sections of the balance sheet, if applicable.&lt;/p&gt;

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

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

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The market for our defense electronics products
is largely dependent on the availability of new contracts from the United States and foreign governments to prime contractors to which
we provide components.&#160;Any decline in expenditures by the United States or foreign governments may have an adverse effect on our
financial performance.&#160;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Generally, U.S. Government contracts are subject
to procurement laws and regulations.&#160;Some of the Company&#x2019;s contracts are governed by the Federal Acquisition Regulation (FAR),
which lays out uniform policies and procedures for acquiring goods and services by the U.S. Government, and agency-specific acquisition
regulations that implement or supplement the FAR.&#160;For example, the Department of Defense implements the FAR through the Defense Federal
Acquisition Regulation (DFAR).&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The FAR also contains guidelines and regulations
for managing a contract after award, including conditions under which contracts may be terminated, in whole or in part, at the government&#x2019;s
convenience or for default. If a contract is terminated for the convenience of the government, a contractor is entitled to receive payments
for its allowable costs and, in general, the proportionate share of fees or earnings for the work done.&#160;If a contract is terminated
for default, the government generally pays for only the work it has accepted.&#160;These regulations also subject the Company to financial
audits and other reviews by the government of its costs, performance, accounting and general business practices relating to its contracts,
which may result in adjustment of the Company&#x2019;s contract-related costs and fees.&lt;/p&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock contextRef="c0" id="ixv-4125">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Revenue&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The majority of our sales are generated from military
contracts from defense companies, the Department of Defense, other agencies of the government of the United States and foreign governments,
for the design and development and/or manufacture of products. Sales are also generated from industrial manufacturers for similar services.
We provide our products and design and development services under fixed-price contracts. Under fixed-price contracts we agree to perform
the specified work for a pre-determined price. To the extent our actual costs vary from the estimates upon which the price was negotiated,
we will generate more or less profit or could incur a loss.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We account for a contract with a customer after
it has been approved by all parties to the arrangement, the rights of the parties are identified, payment terms are identified, the contract
has commercial substance, and collection of substantially all of the amount to which the entity will be entitled in exchange for the goods
or services that will be transferred to the customer is probable. We assess each contract at its inception to determine whether it should
be combined with other contracts. When making this determination, we consider factors such as whether two or more contracts were negotiated
and executed at or near the same time, or were negotiated with an overall profit objective.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We evaluate the products or services promised
in each contract at inception to determine whether the contract should be accounted for as having one or more performance obligations.
Significant judgment is required in determining performance obligations. We determine the transaction price for each contract based on
the consideration we expect to receive for the products or services being provided under the contract. The transaction price for each
performance obligation is based on the estimated standalone selling price of the product or service underlying each performance obligation.
Transaction prices on our contracts subject to the Federal Acquisition Regulations (FAR) are typically based on estimated costs plus a
reasonable profit margin.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We recognize revenue using the output method based
on the appraisal of results achieved and milestones reached or units delivered based on contractual shipment terms, typically shipping
point.&lt;/p&gt;</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <us-gaap:InventoryPolicyTextBlock contextRef="c0" id="ixv-4140">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Inventory&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Raw materials are valued at the lower of cost
(average cost) or net realizable value. Balances for slow-moving and obsolete inventory are reviewed on a regular basis by analyzing estimated
demand, inventory on hand, sales levels, market conditions, and other information and reduce inventory balances based on this analysis.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Inventory relating to contracts in process and
work in process is valued at cost, including factory overhead incurred to date. Contract costs include material, subcontract costs, labor,
and an allocation of overhead costs. Work in process represents spare units and parts and other inventory items acquired or produced to
service units previously sold or to meet anticipated future orders. Provision for losses on contracts is made when the existence of such
losses becomes probable and estimable.&#160;The provision for losses on contracts is included in other accrued expenses on the Company&#x2019;s
balance sheet.&#160;The costs attributed to units delivered under contracts are based on the estimated average cost of all units expected
to be produced.&#160; Certain contracts are expected to extend beyond twelve months.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The estimation of total cost at completion of
a contract is subject to numerous variables involving contract costs and estimates as to the length of time to complete the contract.&#160;Given
the significance of the estimation processes and judgments described above, it is possible that materially different amounts of expected
sales and contract costs could be recorded if different assumptions were used, based on changes in circumstances, in the estimation process.&#160;When
a change in expected sales value or estimated cost is determined, the change is reflected in current period earnings.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;</us-gaap:InventoryPolicyTextBlock>
    <esp:ContractExtendTerm contextRef="c0" id="ixv-7036">P12M</esp:ContractExtendTerm>
    <esp:ContractLiabilitiesPolicyTextBlock contextRef="c0" id="ixv-4167">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Contract Liabilities&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Contract liabilities include advance payments
and billings in excess of revenue recognized.&lt;/p&gt;</esp:ContractLiabilitiesPolicyTextBlock>
    <us-gaap:DepreciationDepletionAndAmortizationPolicyTextBlock contextRef="c0" id="ixv-4173">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Depreciation&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Depreciation of plant and equipment is computed
on a straight-line basis over the estimated useful lives of the assets.&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Estimated useful lives of depreciable assets are
as follows:&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 80%; border-collapse: collapse; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr style="vertical-align: top; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 50%; text-align: justify"&gt;Buildings and improvements &lt;/td&gt;
    &lt;td style="width: 50%; text-align: right"&gt;10 &#x2013; 50 years&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: top; "&gt;
    &lt;td style="text-align: justify"&gt;Machinery and equipment&lt;/td&gt;
    &lt;td style="text-align: right"&gt;3 &#x2013; 20 years&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: top; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Furniture and fixtures&lt;/td&gt;
    &lt;td style="text-align: right"&gt;7 &#x2013; 10 years&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:DepreciationDepletionAndAmortizationPolicyTextBlock>
    <esp:ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock contextRef="c0" id="ixv-7037">Estimated useful lives of depreciable assets are
as follows:&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 80%; border-collapse: collapse; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr style="vertical-align: top; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 50%; text-align: justify"&gt;Buildings and improvements &lt;/td&gt;
    &lt;td style="width: 50%; text-align: right"&gt;10 &#x2013; 50 years&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: top; "&gt;
    &lt;td style="text-align: justify"&gt;Machinery and equipment&lt;/td&gt;
    &lt;td style="text-align: right"&gt;3 &#x2013; 20 years&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: top; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Furniture and fixtures&lt;/td&gt;
    &lt;td style="text-align: right"&gt;7 &#x2013; 10 years&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</esp:ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="c37" id="ixv-7038">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="c38" id="ixv-7039">P50Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="c39" id="ixv-7040">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="c40" id="ixv-7041">P20Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="c41" id="ixv-7042">P7Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="c42" id="ixv-7043">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:IncomeTaxPolicyTextBlock contextRef="c0" id="ixv-4195">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Income Taxes&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company follows the provisions of Accounting
Standards Codification (&#x201c;ASC&#x201d;) Topic 740-10, "Accounting for Income Taxes."&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Under the provisions of ASC 740-10, deferred tax
assets and liabilities are recognized for the future tax consequences attributable to differences between the financial statement carrying
amounts of existing assets and liabilities and their respective tax bases.&#160;Deferred tax assets and liabilities are measured using
enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or
settled.&#160;The effect on deferred taxes and liabilities of a change in tax rates is recognized in earnings in the period that includes
the enactment date.&lt;/p&gt;</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock contextRef="c0" id="ixv-4204">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Cash and Cash Equivalents&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Cash and cash equivalents consist of cash and
money market funds. The Company considers all highly liquid investments with original maturities of three months or less to be cash equivalents.&#160;&lt;/p&gt;</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:InvestmentPolicyTextBlock contextRef="c0" id="ixv-4210">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Investment Securities&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company accounts for its investments in debt
securities in accordance with ASC 320-10-25, &#x201c;Accounting for Certain Investments in Debt and Equity Securities.&#x201d;&#160;Investments
in debt securities at June 30, 2024 and  2023 consisted of municipal bonds and treasury bills.&#160;The Company classifies investments
in debt securities as available-for-sale. Unrealized holding gains and losses, net of related tax effect, on available-for-sale debt securities
are excluded from earnings and are reported as a separate component of stockholders&#x2019; equity until realized.&#160;Realized gains
and losses for debt securities classified as available-for-sale are included in earnings and are determined using the specific identification
method.&#160;Interest income is recognized when earned.&#160;Fair values are based on quoted market prices available as of the balance
sheet date, and are therefore considered a Level 1 valuation.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Certificates of deposit held for investment with
an original maturity greater than three months are carried at amortized cost and reported as short-term investments on the balance sheets.
The type of certificates of deposit that the Company invests in are not considered debt securities under Financial Accounting Standards
Board ("FASB") Accounting Standards Codification (&#x201c;ASC&#x201d;) 320, Investments - Debt Securities.&lt;/p&gt;</us-gaap:InvestmentPolicyTextBlock>
    <us-gaap:FairValueOfFinancialInstrumentsPolicy contextRef="c0" id="ixv-4219">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Fair Value of Financial Instruments&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Accounting Standards Codification (&#x201c;ASC&#x201d;)
820 establishes a fair value hierarchy which requires an entity to maximize the use of observable inputs and minimize the use of unobservable
inputs when measuring fair value.&#160;The standard describes three levels of inputs that may be used to measure fair value:&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span&gt;&#x25fe;&lt;/span&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Level
1: Quoted prices (unadjusted) for identical assets or liabilities in active markets that the entity has the ability to access as of the
measurement date.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span&gt;&#x25fe;&lt;/span&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Level
2: Significant other observable inputs other than Level 1 prices such as quoted prices for similar assets or liabilities; quoted prices
in markets that are not active; or other inputs that are observable or can be corroborated by observable market data.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span&gt;&#x25fe;&lt;/span&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Level
3: Significant unobservable inputs that reflect a reporting entity&#x2019;s own assumptions about the assumptions that market participants
would use in pricing an asset or liability.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The carrying amounts of financial instruments,
including cash and cash equivalents, short term investment securities, accounts receivable, accounts payable and accrued expenses, approximated
fair value as of June 30, 2024 and 2023 because of the immediate or short-term maturity of these financial instruments.&#160;&lt;/p&gt;</us-gaap:FairValueOfFinancialInstrumentsPolicy>
    <us-gaap:TradeAndOtherAccountsReceivablePolicy contextRef="c0" id="ixv-4255">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Accounts Receivable and Allowance for Credit Losses&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company extends credit to its customers in
the normal course of business and collateral is generally not required for trade receivables.&#160;Exposure to credit risk is controlled
through the use of credit approvals, credit limits, and monitoring procedures.&#160;Accounts receivable are reported net of an allowance
for credit losses.&#160;The Company estimates the allowance based on its analysis of historical experience, current economic market conditions,
performance of specific account reviews, and other factored considerations to include, but not limited to, contracts covered by government
funding and the overall health of the industry. Interest is not charged on past due balances. Based on these factors, there was an allowance for credit losses of $3,000 at June 30, 2024 and 2023. Changes to the allowance for credit
losses are charged to expense and reduced by charge-offs, net of recoveries. The opening accounts receivable balance, net of allowance
for credit losses of $3,000, at July 1, 2022 and July 1, 2023 were $5,733,174 and $5,755,282, respectively.&lt;/p&gt;</us-gaap:TradeAndOtherAccountsReceivablePolicy>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c3" decimals="0" id="ixv-7044" unitRef="usd">3000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c4" decimals="0" id="ixv-7045" unitRef="usd">3000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c35" decimals="0" id="ixv-7046" unitRef="usd">3000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c36" decimals="0" id="ixv-7047" unitRef="usd">3000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c35" decimals="0" id="ixv-7048" unitRef="usd">5733174</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c36" decimals="0" id="ixv-7049" unitRef="usd">5755282</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:EarningsPerSharePolicyTextBlock contextRef="c0" id="ixv-4261">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Per Share Amounts&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;ASC 260-10 &#x201c;Earnings Per Share (EPS)&#x201d;
requires the Company to calculate net income per share based on basic and diluted net income per share, as defined.&#160;Basic EPS excludes
dilution and is computed by dividing net income by the weighted average number of shares outstanding for the period.&#160;Diluted EPS
reflects the potential dilution that could occur if securities or other contracts to issue common stock were exercised or converted into
common stock.&#160;The dilutive effect of outstanding options issued by the Company are reflected in diluted EPS using the treasury stock
method.&#160;Under the treasury stock method, options will only have a dilutive effect when the average market price of common stock during
the period exceeds the exercise price of the options.&lt;/p&gt;</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:ComprehensiveIncomePolicyPolicyTextBlock contextRef="c0" id="ixv-4267">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Comprehensive Income&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Comprehensive income consists of net income and
other comprehensive income (loss).&#160;Other comprehensive income for fiscal years ended June 30, 2024 and 2023 consists of unrealized
holding gains (losses) on available-for-sale debt securities.&#160;&lt;/p&gt;</us-gaap:ComprehensiveIncomePolicyPolicyTextBlock>
    <us-gaap:UseOfEstimates contextRef="c0" id="ixv-4273">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Use of Estimates&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The preparation of financial statements in conformity
with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that
affect the reported amount of assets and liabilities and 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. Actual results could differ from those estimates.&lt;/p&gt;</us-gaap:UseOfEstimates>
    <esp:RecentlyAdoptedAccountingStandardsPolicyTextBlock contextRef="c0" id="ixv-4279">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Recently Adopted Accounting Standards&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In June 2016, the FASB issued ASU 2016-13, &#x201c;Financial
Instruments-Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments&#x201d;, &lt;span&gt;which
requires a financial asset measured at amortized cost basis to be presented at the net amount expected to be collected, with further clarifications
made more recently. For trade receivables, loans and other financial instruments, the Company will be required to use a forward-looking
expected loss model rather than the incurred loss model for recognizing credit losses which reflects losses that are probable. &lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Credit losses relating to available-for-sale
debt securities are required to be recorded through an allowance for credit losses rather than as a reduction in the amortized cost basis
of the securities. ASU 2016-13 is effective for public entities for fiscal years beginning after December 15, 2022, including interim
periods within those fiscal years. Upon adoption, the amendments in ASU 2016-13 should be applied on a prospective basis to all periods
presented relating to available-for-sale debt securities. For all other financial instruments the Company upon adoption will apply the
amendments on a modified-retrospective approach. The Company adopted the new guidance under ASU 2016-13 in the first quarter of fiscal
year 2024, and determined that the impact of the adoption on its financial statements is immaterial.&lt;/p&gt;</esp:RecentlyAdoptedAccountingStandardsPolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="c0" id="ixv-4304">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Recent Accounting Pronouncements Not Yet Adopted&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span&gt;In December
2023, the FASB issued ASU No. 2023-09, &#x201c;Income Taxes (&#x201c;Topic 740&#x201d;): Improvements to Income Tax Disclosures&#x201d;, which includes
amendments that further enhance income tax disclosures through the standardization and disaggregation of rate reconciliation categories
and income taxes paid. ASU 2023-09 is effective for fiscal years beginning after December 15, 2024 and is to be applied prospectively,
with early adoption and retrospective application permitted. We are currently evaluating the impact of this standard to our
financial statements.&lt;/span&gt;&lt;/p&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock contextRef="c0" id="ixv-4311">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Impairment of Long-Lived Assets&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Long-lived assets, including property, plant,
and equipment, are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of an asset may
not be recoverable.&#160;Recoverability of assets to be held and used is measured by a comparison of the carrying amount of an asset to
estimated undiscounted future cash flows expected to be generated by the asset.&#160;If the carrying amount of an asset exceeds its estimated
future cash flows, an impairment charge is recognized by the amount by which the carrying amount of the asset exceeds the fair value of
the asset.&#160;There were &lt;span style="-sec-ix-hidden: hidden-fact-10"&gt;&lt;span style="-sec-ix-hidden: hidden-fact-11"&gt;no&lt;/span&gt;&lt;/span&gt; impairments of long-lived assets in fiscal years 2024 and 2023.&#160;Assets to be disposed of are separately
presented in the balance sheet and reported at the lower of the carrying amount or fair value less costs to sell, and no longer depreciated.&#160;The
assets and liabilities of a disposed group classified as held for sale are presented separately in the appropriate asset and liability
sections of the balance sheet, if applicable.&lt;/p&gt;</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock>
    <us-gaap:ConcentrationRiskCreditRisk contextRef="c0" id="ixv-4319">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Concentrations of Risk&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The market for our defense electronics products
is largely dependent on the availability of new contracts from the United States and foreign governments to prime contractors to which
we provide components.&#160;Any decline in expenditures by the United States or foreign governments may have an adverse effect on our
financial performance.&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Generally, U.S. Government contracts are subject
to procurement laws and regulations.&#160;Some of the Company&#x2019;s contracts are governed by the Federal Acquisition Regulation (FAR),
which lays out uniform policies and procedures for acquiring goods and services by the U.S. Government, and agency-specific acquisition
regulations that implement or supplement the FAR.&#160;For example, the Department of Defense implements the FAR through the Defense Federal
Acquisition Regulation (DFAR).&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The FAR also contains guidelines and regulations
for managing a contract after award, including conditions under which contracts may be terminated, in whole or in part, at the government&#x2019;s
convenience or for default. If a contract is terminated for the convenience of the government, a contractor is entitled to receive payments
for its allowable costs and, in general, the proportionate share of fees or earnings for the work done.&#160;If a contract is terminated
for default, the government generally pays for only the work it has accepted.&#160;These regulations also subject the Company to financial
audits and other reviews by the government of its costs, performance, accounting and general business practices relating to its contracts,
which may result in adjustment of the Company&#x2019;s contract-related costs and fees.&lt;/p&gt;</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="c0" id="ixv-4346">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Note 3. Revenue&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company follows ASC 606 &#x201c;Revenue from
Contracts with Customers&#x201d; to determine the recognition of revenue. This standard requires entities to assess the products or services
promised in contracts with customers at contract inception to determine the appropriate unit at which to record revenues.&#160;Revenue
is recognized when control of the promised products or services is transferred to customers at an amount that reflects the consideration
to which the entity expects to be entitled to in exchange for those products or services.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Significant judgment is required in determining
the satisfaction of performance obligations.&#160;Revenues from our performance obligations are satisfied over time using the output method
which considers the appraisal of results achieved and milestones reached or units delivered based on contractual shipment terms, typically
shipping point.&#160;Revenue is recognized when, or as, the customer takes control of the product or services.&#160;The output method
best depicts the transfer of control to the customer as the output method represents work completed. Control is typically transferred
to the customer at the shipping point as the Company has a present right to payment, the customer has legal title to the asset, the customer
has the significant risks and rewards of ownership of the asset, and in most instances the customer has accepted the asset.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Total revenue recognized for the year ended June
30, 2024 based on units delivered totaled $33,403,833 compared to $27,770,365 for the same period in fiscal year 2023. Total revenue
recognized for the year ended June 30, 2024 based on milestones achieved totaled $5,332,486 compared to $7,821,958 for the same period
in fiscal year 2023.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company offers a standard one-year product
warranty. Product warranties offered by the Company are classified as assurance-type warranties, which means, the warranty only
guarantees that the good or service functions as promised. Based on this, the provided warranty is not considered to be a distinct
performance obligation. The impact of variable consideration has been considered but none identified which would result in the
adjustment of the transaction price as of June 30, 2024.&#160;Our payment terms are generally 30-60 days.&#160;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Contract liabilities were $9,043,422 and $8,081,838
as of June 30, 2024 and 2023, respectively. The increase in contract liabilities is primarily due to the advance collection of cash on
specific contracts, offset in part, by revenue recognized. Revenue recognized, that was in contract liabilities in the beginning of the
fiscal year, approximated $1,191,954 for the year ended June 30, 2024. The Company used the practical expedient to expense incremental
costs incurred to obtain a contract when the contract term is less than one year.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company&#x2019;s backlog at June 30, 2024 totaling
approximately $97.2 million is expected, based on expected due dates, to be recognized in the following fiscal years: 45% in 2025, 33%
in 2026, 10% in 2027, and 12% thereafter. &lt;/p&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:Revenues contextRef="c43" decimals="0" id="ixv-7050" unitRef="usd">33403833</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c44" decimals="0" id="ixv-7051" unitRef="usd">27770365</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c45" decimals="0" id="ixv-7052" unitRef="usd">5332486</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c46" decimals="0" id="ixv-7053" unitRef="usd">7821958</us-gaap:Revenues>
    <us-gaap:ContractWithCustomerLiability contextRef="c47" decimals="0" id="ixv-7054" unitRef="usd">9043422</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability contextRef="c48" decimals="0" id="ixv-7055" unitRef="usd">8081838</us-gaap:ContractWithCustomerLiability>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c0" decimals="0" id="ixv-7056" unitRef="usd">1191954</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c49" decimals="-5" id="ixv-7057" unitRef="usd">97200000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <esp:BacklogPercentageOfRecognitionsYearOne contextRef="c49" decimals="2" id="ixv-7058" unitRef="pure">0.45</esp:BacklogPercentageOfRecognitionsYearOne>
    <esp:BacklogPercentageOfRecognitionsYearTwo contextRef="c49" decimals="2" id="ixv-7059" unitRef="pure">0.33</esp:BacklogPercentageOfRecognitionsYearTwo>
    <esp:BacklogPercentageOfRecognitionsYearThree contextRef="c49" decimals="2" id="ixv-7060" unitRef="pure">0.10</esp:BacklogPercentageOfRecognitionsYearThree>
    <esp:BacklogPercentageOfRecognitions contextRef="c49" decimals="2" id="ixv-7061" unitRef="pure">0.12</esp:BacklogPercentageOfRecognitions>
    <us-gaap:InvestmentTextBlock contextRef="c0" id="ixv-4363">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Note 4. Investment Securities&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Investment securities at June 30, 2024 consist
of certificates of deposit, municipal bonds and U.S. treasury bills and at June 30, 2023, consisted of certificates of deposit, municipal
bonds and U.S. treasury bills. The Company classifies investment securities as available-for-sale which have been determined to be level
1 assets.&#160;The cost, gross unrealized gains, gross unrealized losses and fair value debt securities by major security type at June
30, 2024&#160;and June 30, 2023 are as follows:&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;Gross&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;Gross&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;Amortized&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;Unrealized&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;Unrealized&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;Fair&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Cost&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Gains&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Losses&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Value&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-decoration: underline"&gt;June 30, 2024&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="width: 48%"&gt;Certificates of deposit&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;17,651,000&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-12"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-13"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;17,651,000&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Municipal bonds&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;709,059&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5,824&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(3,313&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;711,570&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;U.S. Treasury bills&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;510,288&lt;/td&gt;&lt;td style="padding-bottom: 1pt; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;5,773&lt;/td&gt;&lt;td style="padding-bottom: 1pt; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-14"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;516,061&lt;/td&gt;&lt;td style="padding-bottom: 1pt; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total investment securities&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;18,870,347&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;11,597&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;(3,313&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;18,878,631&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;Gross&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;Gross&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;Amortized&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;Unrealized&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;Unrealized&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;Fair&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Cost&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Gains&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Losses&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Value&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-decoration: underline"&gt;June 30, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="width: 48%"&gt;Certificates of deposit&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;11,280,000&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-15"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-16"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;11,280,000&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Municipal bonds&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;260,475&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;165&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(7,843&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;252,797&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;U.S. Treasury Bills&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;430,952&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,225&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(301&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;431,876&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total investment securities&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;11,971,427&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;1,390&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;(8,144&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;11,964,673&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.25in"&gt;&lt;span style="text-underline-style: double"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The portfolio is diversified and highly liquid
and primarily consists of investment grade fixed income instruments. At June 30, 2024, the Company did not have any investments in individual
securities that have been in a continuous loss position considered to be other than temporary.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;As of June 30, 2024 and June 30, 2023, the remaining
contractual maturities of available-for-sale debt securities were as follows:&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Years to Maturity&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;Less than&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;One to&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;One Year&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;Five Years&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-decoration: underline"&gt;June 30, 2024&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="width: 61%; padding-bottom: 1pt"&gt;Available-for-sale&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; border-bottom: Black 1pt solid; text-align: right"&gt;17,889,582&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; border-bottom: Black 1pt solid; text-align: right"&gt;989,049&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; border-bottom: Black 1pt solid; text-align: right"&gt;18,878,631&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-decoration: underline"&gt;June 30, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Available-for-sale&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;11,711,876&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;252,797&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;11,964,673&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:InvestmentTextBlock>
    <us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock contextRef="c0" id="ixv-7062">The cost, gross unrealized gains, gross unrealized losses and fair value debt securities by major security type at June
30, 2024&#160;and June 30, 2023 are as follows:&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;Gross&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;Gross&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;Amortized&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;Unrealized&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;Unrealized&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;Fair&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Cost&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Gains&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Losses&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Value&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-decoration: underline"&gt;June 30, 2024&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="width: 48%"&gt;Certificates of deposit&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;17,651,000&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-12"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-13"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;17,651,000&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Municipal bonds&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;709,059&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5,824&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(3,313&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;711,570&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;U.S. Treasury bills&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;510,288&lt;/td&gt;&lt;td style="padding-bottom: 1pt; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;5,773&lt;/td&gt;&lt;td style="padding-bottom: 1pt; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-14"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;516,061&lt;/td&gt;&lt;td style="padding-bottom: 1pt; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total investment securities&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;18,870,347&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;11,597&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;(3,313&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;18,878,631&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;Gross&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;Gross&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;Amortized&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;Unrealized&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;Unrealized&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;Fair&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Cost&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Gains&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Losses&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Value&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-decoration: underline"&gt;June 30, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="width: 48%"&gt;Certificates of deposit&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;11,280,000&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-15"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-16"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;11,280,000&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Municipal bonds&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;260,475&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;165&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(7,843&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;252,797&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;U.S. Treasury Bills&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;430,952&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,225&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(301&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;431,876&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total investment securities&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;11,971,427&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;1,390&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;(8,144&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;11,964,673&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock>
    <us-gaap:TradingSecuritiesDebtAmortizedCost contextRef="c50" decimals="0" id="ixv-7063" unitRef="usd">17651000</us-gaap:TradingSecuritiesDebtAmortizedCost>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="c50" decimals="0" id="ixv-7064" unitRef="usd">17651000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:TradingSecuritiesDebtAmortizedCost contextRef="c51" decimals="0" id="ixv-7065" unitRef="usd">709059</us-gaap:TradingSecuritiesDebtAmortizedCost>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c51" decimals="0" id="ixv-7066" unitRef="usd">5824</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c51" decimals="0" id="ixv-7067" unitRef="usd">3313</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="c51" decimals="0" id="ixv-7068" unitRef="usd">711570</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:TradingSecuritiesDebtAmortizedCost contextRef="c52" decimals="0" id="ixv-7069" unitRef="usd">510288</us-gaap:TradingSecuritiesDebtAmortizedCost>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c52" decimals="0" id="ixv-7070" unitRef="usd">5773</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="c52" decimals="0" id="ixv-7071" unitRef="usd">516061</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:TradingSecuritiesDebtAmortizedCost contextRef="c3" decimals="0" id="ixv-7072" unitRef="usd">18870347</us-gaap:TradingSecuritiesDebtAmortizedCost>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c3" decimals="0" id="ixv-7073" unitRef="usd">11597</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c3" decimals="0" id="ixv-7074" unitRef="usd">3313</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="c3" decimals="0" id="ixv-7075" unitRef="usd">18878631</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:TradingSecuritiesDebtAmortizedCost contextRef="c53" decimals="0" id="ixv-7076" unitRef="usd">11280000</us-gaap:TradingSecuritiesDebtAmortizedCost>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="c53" decimals="0" id="ixv-7077" unitRef="usd">11280000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:TradingSecuritiesDebtAmortizedCost contextRef="c54" decimals="0" id="ixv-7078" unitRef="usd">260475</us-gaap:TradingSecuritiesDebtAmortizedCost>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c54" decimals="0" id="ixv-7079" unitRef="usd">165</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c54" decimals="0" id="ixv-7080" unitRef="usd">7843</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="c54" decimals="0" id="ixv-7081" unitRef="usd">252797</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:TradingSecuritiesDebtAmortizedCost contextRef="c55" decimals="0" id="ixv-7082" unitRef="usd">430952</us-gaap:TradingSecuritiesDebtAmortizedCost>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c55" decimals="0" id="ixv-7083" unitRef="usd">1225</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c55" decimals="0" id="ixv-7084" unitRef="usd">301</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="c55" decimals="0" id="ixv-7085" unitRef="usd">431876</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:TradingSecuritiesDebtAmortizedCost contextRef="c4" decimals="0" id="ixv-7086" unitRef="usd">11971427</us-gaap:TradingSecuritiesDebtAmortizedCost>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c4" decimals="0" id="ixv-7087" unitRef="usd">1390</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c4" decimals="0" id="ixv-7088" unitRef="usd">8144</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="c4" decimals="0" id="ixv-7089" unitRef="usd">11964673</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock contextRef="c0" id="ixv-7090">As of June 30, 2024 and June 30, 2023, the remaining
contractual maturities of available-for-sale debt securities were as follows:&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Years to Maturity&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;Less than&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;One to&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;One Year&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;Five Years&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-decoration: underline"&gt;June 30, 2024&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="width: 61%; padding-bottom: 1pt"&gt;Available-for-sale&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; border-bottom: Black 1pt solid; text-align: right"&gt;17,889,582&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; border-bottom: Black 1pt solid; text-align: right"&gt;989,049&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; border-bottom: Black 1pt solid; text-align: right"&gt;18,878,631&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-decoration: underline"&gt;June 30, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Available-for-sale&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;11,711,876&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;252,797&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;11,964,673&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue contextRef="c3" decimals="0" id="ixv-7091" unitRef="usd">17889582</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue contextRef="c3" decimals="0" id="ixv-7092" unitRef="usd">989049</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="c3" decimals="0" id="ixv-7093" unitRef="usd">18878631</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue contextRef="c4" decimals="0" id="ixv-7094" unitRef="usd">11711876</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue contextRef="c4" decimals="0" id="ixv-7095" unitRef="usd">252797</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="c4" decimals="0" id="ixv-7096" unitRef="usd">11964673</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:LongTermContractsOrProgramsDisclosureTextBlock contextRef="c0" id="ixv-4770">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Note 5. Contracts in Process&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -0.75in"&gt;Contracts in
process at June 30, 2024 and 2023 are as follows:&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 74%; text-align: left"&gt;Unrecognized gross contract value&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;97,216,542&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;83,577,153&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left"&gt;Costs related to contracts in process&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;15,904,588&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;17,318,579&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Included in costs relating to contracts in process
at June 30, 2024 and 2023 are costs relative to contracts that may not be completed within the ensuing year as contracts vary in size,
scope and duration. Under the units-of-delivery method, the related sale and cost of sales will not be reflected in the statements of
comprehensive income until the units under contract are shipped.&lt;/p&gt;</us-gaap:LongTermContractsOrProgramsDisclosureTextBlock>
    <esp:ScheduleOfContractsInProcessTableTextBlock contextRef="c0" id="ixv-7097">Contracts in
process at June 30, 2024 and 2023 are as follows:&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 74%; text-align: left"&gt;Unrecognized gross contract value&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;97,216,542&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;83,577,153&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left"&gt;Costs related to contracts in process&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;15,904,588&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;17,318,579&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</esp:ScheduleOfContractsInProcessTableTextBlock>
    <esp:UnrecognizedGrossContractValue contextRef="c3" decimals="0" id="ixv-7098" unitRef="usd">97216542</esp:UnrecognizedGrossContractValue>
    <esp:UnrecognizedGrossContractValue contextRef="c4" decimals="0" id="ixv-7099" unitRef="usd">83577153</esp:UnrecognizedGrossContractValue>
    <us-gaap:InventoryForLongTermContractsOrPrograms contextRef="c3" decimals="0" id="ixv-7100" unitRef="usd">15904588</us-gaap:InventoryForLongTermContractsOrPrograms>
    <us-gaap:InventoryForLongTermContractsOrPrograms contextRef="c4" decimals="0" id="ixv-7101" unitRef="usd">17318579</us-gaap:InventoryForLongTermContractsOrPrograms>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock contextRef="c0" id="ixv-4810">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Note 6. Property, Plant and Equipment&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Property, plant and equipment at June 30, 2024
and 2023 is as follows:&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 74%"&gt;Land&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;45,000&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;45,000&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left"&gt;Building and improvements&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5,472,156&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,811,179&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Machinery and equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;11,509,018&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;11,402,679&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Furniture and fixtures&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;165,651&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;164,200&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;17,191,825&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;16,423,058&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Accumulated depreciation&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(13,885,550&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(13,597,969&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Property, plant and equipment, net&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;3,306,275&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;2,825,089&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -0.75in"&gt;&lt;span style="text-underline-style: double"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Depreciation expense was $453,517
and $484,920 for the years ended June 30, 2024 and 2023, respectively.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company was awarded $7.4 million in
funding during the second quarter of fiscal year 2023 in support of facility and capital equipment upgrades for testing and
qualification for the United States Navy. The funding is part of the Navy&#x2019;s investment to improve and sustain the Surface
Combatant Industrial Base. The work is being conducted on the Company&#x2019;s property in Saratoga Springs, NY, with completion
slated for the end of calendar year 2024. The Company expects to be paid within 30 days after the submission of three milestone
invoices, but will not be paid for expenses incurred in excess of the specified milestone payment limits. The Company will record
the receipt of milestone payments received as a reduction from the cost of the assets. The Company will have an initial cash outlay
to satisfy income tax obligations arising from the value of the milestone payments received. The cash outlay arising from federal
income tax obligations is expected to be recaptured in future periods. Until recaptured, estimated tax obligations associated with
the receipt of milestone payments are recorded on the balance sheet and included in deferred tax assets. As of June 30, 2024, net
deferred tax asset includes a deferred tax asset of $888,032 associated with milestone reimbursements received totaling $4,228,722.
Included in property, plant, and equipment at June 30, 2024 was $965,392 not yet reimbursed, for facility and capital upgrades
under the funding award, compared to $308,001 in spending not yet reimbursed included in property, plant, and equipment at June 30,
2023. Included in accounts payable at June 30, 2024 was approximately $272,560 for facility and capital upgrades eligible to be
reimbursed under the funding award compared to $9,095 included in accounts payable at June 30, 2023.&lt;/p&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock contextRef="c0" id="ixv-7102">Property, plant and equipment at June 30, 2024
and 2023 is as follows:&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 74%"&gt;Land&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;45,000&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;45,000&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left"&gt;Building and improvements&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5,472,156&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,811,179&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Machinery and equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;11,509,018&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;11,402,679&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Furniture and fixtures&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;165,651&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;164,200&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;17,191,825&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;16,423,058&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Accumulated depreciation&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(13,885,550&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(13,597,969&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Property, plant and equipment, net&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;3,306,275&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;2,825,089&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -0.75in"&gt;&lt;span style="text-underline-style: double"&gt;&#160;&lt;/span&gt;&lt;/p&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c59" decimals="0" id="ixv-7103" unitRef="usd">45000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c60" decimals="0" id="ixv-7104" unitRef="usd">45000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c61" decimals="0" id="ixv-7105" unitRef="usd">5472156</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c62" decimals="0" id="ixv-7106" unitRef="usd">4811179</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c63" decimals="0" id="ixv-7107" unitRef="usd">11509018</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c64" decimals="0" id="ixv-7108" unitRef="usd">11402679</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c65" decimals="0" id="ixv-7109" unitRef="usd">165651</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c66" decimals="0" id="ixv-7110" unitRef="usd">164200</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c3" decimals="0" id="ixv-7111" unitRef="usd">17191825</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c4" decimals="0" id="ixv-7112" unitRef="usd">16423058</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="c3" decimals="0" id="ixv-7113" unitRef="usd">13885550</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="c4" decimals="0" id="ixv-7114" unitRef="usd">13597969</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c3" decimals="0" id="ixv-7115" unitRef="usd">3306275</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c4" decimals="0" id="ixv-7116" unitRef="usd">2825089</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Depreciation contextRef="c0" decimals="0" id="ixv-7117" unitRef="usd">453517</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="c5" decimals="0" id="ixv-7118" unitRef="usd">484920</us-gaap:Depreciation>
    <us-gaap:EquipmentExpense contextRef="c56" decimals="-5" id="ixv-7119" unitRef="usd">7400000</us-gaap:EquipmentExpense>
    <us-gaap:DeferredTaxAssetsOther contextRef="c57" decimals="0" id="ixv-7120" unitRef="usd">888032</us-gaap:DeferredTaxAssetsOther>
    <esp:TotalMilestoneReimbursementsReceivedAmount contextRef="c0" decimals="0" id="ixv-7121" unitRef="usd">4228722</esp:TotalMilestoneReimbursementsReceivedAmount>
    <us-gaap:PropertyPlantAndEquipmentOtherNet contextRef="c57" decimals="0" id="ixv-7122" unitRef="usd">965392</us-gaap:PropertyPlantAndEquipmentOtherNet>
    <us-gaap:PropertyPlantAndEquipmentOtherNet contextRef="c58" decimals="0" id="ixv-7123" unitRef="usd">308001</us-gaap:PropertyPlantAndEquipmentOtherNet>
    <us-gaap:AccountsPayableCurrentAndNoncurrent contextRef="c3" decimals="0" id="ixv-7124" unitRef="usd">272560</us-gaap:AccountsPayableCurrentAndNoncurrent>
    <us-gaap:AccountsPayableCurrentAndNoncurrent contextRef="c4" decimals="0" id="ixv-7125" unitRef="usd">9095</us-gaap:AccountsPayableCurrentAndNoncurrent>
    <us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock contextRef="c0" id="ixv-4918">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Note 7. Pension Expense&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Under terms of a negotiated union contract
which expires on June 30, 2025, the Company is obligated to make contributions to a union-sponsored International Brotherhood of
Electrical Workers Local 1799 defined benefit pension plan (Plan identifying number is 14-6065199) covering eligible employees. Such
contributions and expenses are based upon hours worked at a specified rate and amounted to $102,745 in fiscal year 2024 and $102,612
in fiscal year 2023. These contributions represent more than five percent of the total contributions made into the Plan. For the
years beginning January 1, 2024 and 2023, the Plan was in the &#x201c;green zone&#x201d; which means it is neither endangered nor
critical status. In the last quarter of the current fiscal year, the Company notified the third-party administrator of the IBEW
Local 1799 Pension Fund of its intention to withdraw permanently from the plan effective June 16, 2024. As required by the Employee
Retirement Income Security Act &#x201c;ERISA&#x201d;, the Company is subject to a termination withdrawal liability. At June 30, 2024,
the Company recorded a termination withdrawal obligation totaling $772,157, based on calculated amounts provided by a third party
actuary retained by the Pension Fund. The outstanding amount is shown within the accounts payable balance on the Company&#x2019;s
balance sheet at June 30, 2024. An initial withdrawal liability contribution payment to the Plan totaling $210,305 was made during
July 2024. The remaining liability of $561,852 is expected to be paid in the second half of fiscal 2025. As the Company was the only
remaining contributing employer to the multiemployer pension plan, its withdrawal constitutes a mass withdrawal termination. Final
withdrawal calculations are contingent upon the availability of January 1, 2025 assets and the finalization of December 31, 2024
liabilities as the withdrawal liability will need to be re-determined based on a December 31, 2024 measurement date. The Company
does not expect future adjustments to the established liability to have a material impact on the Company&#x2019;s financial
statements. The cost of the withdrawal liability obligation is recorded in indirect overhead product costs, capitalized in inventory
and expensed through cost of sales based on shipments.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company is obligated to make contributions
to the National Electrical Benefit Fund (NEBF) (Plan identifying number is 53-0181657). The Plan is a defined pension benefit plan covering
eligible union employees.&#160;Such contributions and expenses amounted to $79,429 in fiscal year 2024 and $72,350 in fiscal year 2023.
The contribution did not and will not in the future have a material impact on the Company&#x2019;s financial statements.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company sponsors a 401(k) plan for non-union
workers with employee and employer matching contributions. The employer match is 10% of the employee contribution and was $60,301 and
$53,768, for fiscal years 2024 and 2023, respectively.&lt;/p&gt;</us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
    <us-gaap:PensionAndOtherPostretirementBenefitExpense contextRef="c0" decimals="0" id="ixv-7126" unitRef="usd">102745</us-gaap:PensionAndOtherPostretirementBenefitExpense>
    <us-gaap:PensionAndOtherPostretirementBenefitExpense contextRef="c5" decimals="0" id="ixv-7127" unitRef="usd">102612</us-gaap:PensionAndOtherPostretirementBenefitExpense>
    <us-gaap:MultiemployerPlansWithdrawalObligation contextRef="c67" decimals="0" id="ixv-7128" unitRef="usd">772157</us-gaap:MultiemployerPlansWithdrawalObligation>
    <us-gaap:PensionContributions contextRef="c68" decimals="0" id="ixv-7129" unitRef="usd">210305</us-gaap:PensionContributions>
    <us-gaap:OtherLiabilities contextRef="c3" decimals="0" id="ixv-7130" unitRef="usd">561852</us-gaap:OtherLiabilities>
    <us-gaap:MultiemployerPlanPensionSignificantPlanContribution contextRef="c0" decimals="0" id="ixv-7131" unitRef="usd">79429</us-gaap:MultiemployerPlanPensionSignificantPlanContribution>
    <us-gaap:MultiemployerPlanPensionSignificantPlanContribution contextRef="c5" decimals="0" id="ixv-7132" unitRef="usd">72350</us-gaap:MultiemployerPlanPensionSignificantPlanContribution>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent contextRef="c0" decimals="2" id="ixv-7133" unitRef="pure">0.10</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent contextRef="c5" decimals="2" id="ixv-7134" unitRef="pure">0.10</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent>
    <esp:DefinedContributionPlanEmployersMatchingContribution contextRef="c0" decimals="0" id="ixv-7135" unitRef="usd">60301</esp:DefinedContributionPlanEmployersMatchingContribution>
    <esp:DefinedContributionPlanEmployersMatchingContribution contextRef="c5" decimals="0" id="ixv-7136" unitRef="usd">53768</esp:DefinedContributionPlanEmployersMatchingContribution>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="c0" id="ixv-4944">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Note 8. Provision for Income Taxes&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;A summary of the components of the provision for
income taxes for the years ended June 30, 2024 and 2023 is as follows:&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 74%; text-align: left"&gt;Current tax expense - federal&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;2,515,865&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;1,059,743&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left"&gt;Current tax (benefit) expense - state&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(3,010&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;9,595&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Deferred tax benefit&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1,032,981&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(40,002&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-left: 30pt; text-align: left; padding-bottom: 2.5pt"&gt;Provision for income taxes&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;1,479,874&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;1,029,336&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

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

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Deferred income taxes reflect the impact of "temporary
differences" between the amount of assets and liabilities for financial reporting purposes and such amounts measured by tax laws
and regulations. These "temporary differences" are determined in accordance with ASC 740-10.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The combined U.S. federal and state effective
income tax rates of 20.3% and 21.9%, for 2024 and 2023 respectively, differed from the statutory U.S. federal income tax rate for the
following reasons:&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 74%; text-align: left"&gt;U.S. federal statutory income tax rate&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;21.0%&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;21.0%&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left"&gt;Increase (reduction) in rate resulting from:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 20pt; text-align: left"&gt;State franchise tax, net of federal income tax benefit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-17"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.2&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-left: 20pt; text-align: left"&gt;ESOP cost versus Fair Market Value&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.1&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(0.2&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 20pt; text-align: left"&gt;Dividend on allocated ESOP shares&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(0.3&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-18"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-left: 20pt; text-align: left"&gt;Stock-based compensation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.2&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1.0&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 20pt; padding-bottom: 1pt"&gt;Other&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(0.7&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(0.1&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Effective tax rate&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;20.3%&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;21.9%&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;For the years ended June 30, 2024 and 2023 deferred
income tax benefit of $1,032,981 and $40,002, respectively, results from the changes in temporary differences for each year. The tax effects
of temporary differences that give rise to deferred tax assets and deferred tax liabilities as of June 30, 2024 and 2023 are presented
as follows:&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Deferred tax assets:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-left: 20pt; width: 74%; text-align: left"&gt;Accrued expenses&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;138,158&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;273,059&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 20pt"&gt;ESOP&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;32,698&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;24,407&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-indent: -10pt; padding-left: 30pt; text-align: left"&gt;Property, plant and equipment - principally due to differences in depreciation methods&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;601,358&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-19"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 20pt; text-align: left"&gt;Pension Withdrawal&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;162,153&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-20"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt"&gt;Stock-based compensation&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;39,724&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;36,552&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 60pt; text-align: left; padding-bottom: 1pt"&gt;Total deferred tax assets &lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;974,091&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;334,018&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Deferred tax liability:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-indent: -10pt; padding-left: 30pt; text-align: left"&gt;Property, plant and equipment - principally due to differences in depreciation methods&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-21"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;337,501&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 20pt; text-align: left"&gt;Inventory - effect of uniform capitalization&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;33,817&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;99,215&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt"&gt;Prepaid expenses&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;45,120&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;35,129&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 60pt; text-align: left; padding-bottom: 1pt"&gt;Total deferred tax liability&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;78,937&lt;/td&gt;&lt;td style="padding-bottom: 1pt; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;471,845&lt;/td&gt;&lt;td style="padding-bottom: 1pt; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Net deferred tax asset (liability)&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;895,154&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;(137,827&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1.5in"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In assessing the realization of deferred tax assets,
management considers whether it is more likely than not that some portion or all of the deferred tax assets will be realized. The ultimate
realization of deferred tax assets is dependent upon the generation of future taxable income during the periods in which those temporary
differences become deductible. Management considers the scheduled reversal of deferred tax liabilities, projected future taxable income,
and tax planning strategies in making this assessment. Based upon the level of historical taxable income and projection for future taxable
income over the period in which the deferred tax assets are deductible, management believes it is more likely than not that the Company
will realize the benefits of these temporary differences without consideration of a valuation allowance.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;As the result of the implementation of the FASB
interpretation No. 48 (&#x201c;FIN 48&#x201d;), Accounting for Uncertainty in Income Taxes &#x2013; An Interpretation of FASB Statement No.
109, the Company recognized no material adjustments to unrecognized tax benefits. As of June 30, 2024 and 2023, the Company has no unrecognized
tax benefits.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company recognizes interest and penalties
in general and administrative expense. As of June 30, 2024 and 2023, the Company has not recorded any provision for accrued interest and
penalties.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company is subject to taxation in the United
States and various state jurisdictions. The federal tax returns are subject to audit for three years from date of filing unless the return
was audited within that period. In general the majority of state statutes follow similar guidelines. As such, the Company&#x2019;s tax
returns for tax years ending June 30, 2024, 2023, and 2022 remain open to examination by the respective taxing authorities.&lt;/p&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock contextRef="c0" id="ixv-7137">A summary of the components of the provision for
income taxes for the years ended June 30, 2024 and 2023 is as follows:&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 74%; text-align: left"&gt;Current tax expense - federal&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;2,515,865&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;1,059,743&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left"&gt;Current tax (benefit) expense - state&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(3,010&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;9,595&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Deferred tax benefit&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1,032,981&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(40,002&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-left: 30pt; text-align: left; padding-bottom: 2.5pt"&gt;Provision for income taxes&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;1,479,874&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;1,029,336&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentFederalTaxExpenseBenefit contextRef="c0" decimals="0" id="ixv-7138" unitRef="usd">2515865</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit contextRef="c5" decimals="0" id="ixv-7139" unitRef="usd">1059743</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit contextRef="c0" decimals="0" id="ixv-7140" unitRef="usd">-3010</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit contextRef="c5" decimals="0" id="ixv-7141" unitRef="usd">9595</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="c0" decimals="0" id="ixv-7142" unitRef="usd">-1032981</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="c5" decimals="0" id="ixv-7143" unitRef="usd">-40002</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c0" decimals="0" id="ixv-7144" unitRef="usd">1479874</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c5" decimals="0" id="ixv-7145" unitRef="usd">1029336</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock contextRef="c0" id="ixv-7146">The combined U.S. federal and state effective
income tax rates of 20.3% and 21.9%, for 2024 and 2023 respectively, differed from the statutory U.S. federal income tax rate for the
following reasons:&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 74%; text-align: left"&gt;U.S. federal statutory income tax rate&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;21.0%&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;21.0%&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left"&gt;Increase (reduction) in rate resulting from:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 20pt; text-align: left"&gt;State franchise tax, net of federal income tax benefit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-17"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.2&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-left: 20pt; text-align: left"&gt;ESOP cost versus Fair Market Value&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.1&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(0.2&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 20pt; text-align: left"&gt;Dividend on allocated ESOP shares&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(0.3&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-18"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-left: 20pt; text-align: left"&gt;Stock-based compensation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.2&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1.0&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 20pt; padding-bottom: 1pt"&gt;Other&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(0.7&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(0.1&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Effective tax rate&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;20.3%&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;21.9%&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c69" decimals="3" id="ixv-7147" unitRef="pure">0.203</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c70" decimals="3" id="ixv-7148" unitRef="pure">0.219</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="c0" decimals="3" id="ixv-7149" unitRef="pure">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="c5" decimals="3" id="ixv-7150" unitRef="pure">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes contextRef="c5" decimals="3" id="ixv-7151" unitRef="pure">0.002</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <esp:EffectiveIncomeTaxRateReconciliationESOPFairValue contextRef="c0" decimals="3" id="ixv-7152" unitRef="pure">0.001</esp:EffectiveIncomeTaxRateReconciliationESOPFairValue>
    <esp:EffectiveIncomeTaxRateReconciliationESOPFairValue contextRef="c5" decimals="3" id="ixv-7153" unitRef="pure">-0.002</esp:EffectiveIncomeTaxRateReconciliationESOPFairValue>
    <esp:EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares contextRef="c0" decimals="3" id="ixv-7154" unitRef="pure">-0.003</esp:EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost contextRef="c0" decimals="3" id="ixv-7155" unitRef="pure">0.002</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost contextRef="c5" decimals="3" id="ixv-7156" unitRef="pure">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments contextRef="c0" decimals="3" id="ixv-7157" unitRef="pure">-0.007</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments contextRef="c5" decimals="3" id="ixv-7158" unitRef="pure">-0.001</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c0" decimals="3" id="ixv-7159" unitRef="pure">0.203</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c5" decimals="3" id="ixv-7160" unitRef="pure">0.219</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="c0" decimals="0" id="ixv-7161" unitRef="usd">-1032981</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="c5" decimals="0" id="ixv-7162" unitRef="usd">-40002</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock contextRef="c0" id="ixv-7163">deferred tax assets and deferred tax liabilities as of June 30, 2024 and 2023 are presented
as follows:&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Deferred tax assets:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-left: 20pt; width: 74%; text-align: left"&gt;Accrued expenses&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;138,158&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;273,059&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 20pt"&gt;ESOP&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;32,698&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;24,407&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-indent: -10pt; padding-left: 30pt; text-align: left"&gt;Property, plant and equipment - principally due to differences in depreciation methods&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;601,358&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-19"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 20pt; text-align: left"&gt;Pension Withdrawal&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;162,153&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-20"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt"&gt;Stock-based compensation&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;39,724&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;36,552&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 60pt; text-align: left; padding-bottom: 1pt"&gt;Total deferred tax assets &lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;974,091&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;334,018&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Deferred tax liability:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-indent: -10pt; padding-left: 30pt; text-align: left"&gt;Property, plant and equipment - principally due to differences in depreciation methods&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-21"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;337,501&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 20pt; text-align: left"&gt;Inventory - effect of uniform capitalization&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;33,817&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;99,215&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt"&gt;Prepaid expenses&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;45,120&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;35,129&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 60pt; text-align: left; padding-bottom: 1pt"&gt;Total deferred tax liability&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;78,937&lt;/td&gt;&lt;td style="padding-bottom: 1pt; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;471,845&lt;/td&gt;&lt;td style="padding-bottom: 1pt; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Net deferred tax asset (liability)&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;895,154&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;(137,827&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1.5in"&gt;&#160;&lt;/p&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities contextRef="c3" decimals="0" id="ixv-7164" unitRef="usd">138158</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities contextRef="c4" decimals="0" id="ixv-7165" unitRef="usd">273059</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther contextRef="c3" decimals="0" id="ixv-7166" unitRef="usd">32698</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther contextRef="c4" decimals="0" id="ixv-7167" unitRef="usd">24407</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther>
    <us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment contextRef="c3" decimals="0" id="ixv-7168" unitRef="usd">601358</us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment>
    <esp:DeferredTaxAssetsPensionWithdrawal contextRef="c3" decimals="0" id="ixv-7169" unitRef="usd">162153</esp:DeferredTaxAssetsPensionWithdrawal>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost contextRef="c3" decimals="0" id="ixv-7170" unitRef="usd">39724</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost contextRef="c4" decimals="0" id="ixv-7171" unitRef="usd">36552</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsGross contextRef="c3" decimals="0" id="ixv-7172" unitRef="usd">974091</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross contextRef="c4" decimals="0" id="ixv-7173" unitRef="usd">334018</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment contextRef="c4" decimals="0" id="ixv-7174" unitRef="usd">337501</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts contextRef="c3" decimals="0" id="ixv-7175" unitRef="usd">33817</us-gaap:DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts>
    <us-gaap:DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts contextRef="c4" decimals="0" id="ixv-7176" unitRef="usd">99215</us-gaap:DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts>
    <us-gaap:DeferredTaxLiabilitiesPrepaidExpenses contextRef="c3" decimals="0" id="ixv-7177" unitRef="usd">45120</us-gaap:DeferredTaxLiabilitiesPrepaidExpenses>
    <us-gaap:DeferredTaxLiabilitiesPrepaidExpenses contextRef="c4" decimals="0" id="ixv-7178" unitRef="usd">35129</us-gaap:DeferredTaxLiabilitiesPrepaidExpenses>
    <us-gaap:DeferredIncomeTaxLiabilities contextRef="c3" decimals="0" id="ixv-7179" unitRef="usd">78937</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities contextRef="c4" decimals="0" id="ixv-7180" unitRef="usd">471845</us-gaap:DeferredIncomeTaxLiabilities>
    <esp:DeferredTaxAssetLiability contextRef="c3" decimals="0" id="ixv-7181" unitRef="usd">895154</esp:DeferredTaxAssetLiability>
    <esp:DeferredTaxAssetLiability contextRef="c4" decimals="0" id="ixv-7182" unitRef="usd">-137827</esp:DeferredTaxAssetLiability>
    <esp:SignificantCustomersTextBlock contextRef="c0" id="ixv-5291">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -0.75in"&gt;Note 9. Significant
Customers&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;A significant portion of the Company's business
is the production of military and industrial electronic equipment for use by the U.S. and foreign governments and certain industrial customers.
Sales to five domestic customers accounted for 81% of total sales in 2024. Sales to five domestic customers accounted for 81% of total
sales in 2023. Orders from significant customers may include more than one program and procurement may originate from various divisions
of the significant customer. The related accounts receivable balance, as a percentage of the Company's total trade accounts receivable
balance, was 79% represented by five customers at June 30, 2024 and 81% represented by five customers at June 30, 2023.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Export shipments in fiscal years 2024 and 2023
were $2,350,087 and $549,510, respectively.&lt;/p&gt;</esp:SignificantCustomersTextBlock>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c71" decimals="2" id="ixv-7183" unitRef="pure">0.81</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c72" decimals="2" id="ixv-7184" unitRef="pure">0.81</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c73" decimals="2" id="ixv-7185" unitRef="pure">0.79</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c74" decimals="2" id="ixv-7186" unitRef="pure">0.81</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:SalesTypeLeaseRevenue contextRef="c0" decimals="0" id="ixv-7187" unitRef="usd">2350087</us-gaap:SalesTypeLeaseRevenue>
    <us-gaap:SalesTypeLeaseRevenue contextRef="c5" decimals="0" id="ixv-7188" unitRef="usd">549510</us-gaap:SalesTypeLeaseRevenue>
    <esp:EmployeeStockOwnershipPlanTextBlock contextRef="c0" id="ixv-5300">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Note 10. Employee Stock Ownership Plan&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company sponsors a leveraged employee stock
ownership plan (the "ESOP") that covers all nonunion employees who work 1,000 or more hours per year and are employed on June
30. The Company makes annual contributions to the ESOP equal to the ESOP's debt service less dividends on unallocated shares received
by the ESOP. All dividends on unallocated shares received by the ESOP are used to pay debt service. Dividends on allocated ESOP shares
are recorded as a reduction of retained earnings. As the debt is repaid, shares are released and allocated to active employees, based
on the proportion of debt service paid in the year. The Company accounts for its ESOP in accordance with FASB ASC 718-40. Accordingly,
the shares purchased by the ESOP are reported as Unearned ESOP Shares in the statement of financial position. As shares are released
or committed-to-be-released, the Company reports compensation expense equal to the current average market price of the shares, and the
shares become outstanding for earnings-per-share (EPS) computations. The ESOP borrowed from the Corporation an amount equal to the purchase
price.&#160;The loan will be repaid in fifteen (15) equal annual installments of principal commencing June 2021.&#160;The Board of Directors
has fixed the interest rate and the unpaid balance will bear interest at a fixed rate of 3.00% per annum. ESOP compensation expense was
$438,136 and $365,646 for the years ended June 30, 2024 and 2023, respectively.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0in"&gt;The ESOP shares as of June 30,
2024 and 2023 were as follows:&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 74%; text-indent: 0in"&gt;Allocated shares&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;451,132&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;484,958&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Unearned shares&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;211,487&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;233,645&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total shares held by the ESOP&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;662,619&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;718,603&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Fair value of unearned shares&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;4,494,099&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;3,913,554&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company may at times be required to repurchase
shares at the ESOP participants&#x2019; request at the fair market value. During the years ended June 30, 2024 and 2023, the Company
did not repurchase shares previously held by the ESOP.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The ESOP allows for eligible participants to take
whole share distributions from the plan on specific dates in accordance with the provision of the plan. Share distributions from the ESOP
during the years ended June 30, 2024 and 2023 totaled 55,984 shares and 33,780 shares, respectively.&lt;/p&gt;</esp:EmployeeStockOwnershipPlanTextBlock>
    <esp:EmployeeStockOwnershipPlanHoursWorked contextRef="c75" decimals="0" id="ixv-7189" unitRef="pure">1000</esp:EmployeeStockOwnershipPlanHoursWorked>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage contextRef="c76" decimals="4" id="ixv-7190" unitRef="pure">0.03</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:EmployeeStockOwnershipPlanESOPCompensationExpense contextRef="c75" decimals="0" id="ixv-7191" unitRef="usd">438136</us-gaap:EmployeeStockOwnershipPlanESOPCompensationExpense>
    <us-gaap:EmployeeStockOwnershipPlanESOPCompensationExpense contextRef="c77" decimals="0" id="ixv-7192" unitRef="usd">365646</us-gaap:EmployeeStockOwnershipPlanESOPCompensationExpense>
    <us-gaap:ScheduleOfEmployeeStockOwnershipPlanESOPDisclosuresTextBlock contextRef="c0" id="ixv-7193">The ESOP shares as of June 30,
2024 and 2023 were as follows:&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 74%; text-indent: 0in"&gt;Allocated shares&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;451,132&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;484,958&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Unearned shares&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;211,487&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;233,645&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total shares held by the ESOP&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;662,619&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;718,603&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Fair value of unearned shares&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;4,494,099&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;3,913,554&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfEmployeeStockOwnershipPlanESOPDisclosuresTextBlock>
    <us-gaap:EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares
      contextRef="c3"
      decimals="INF"
      id="ixv-7194"
      unitRef="shares">451132</us-gaap:EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares>
    <us-gaap:EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares
      contextRef="c4"
      decimals="INF"
      id="ixv-7195"
      unitRef="shares">484958</us-gaap:EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares>
    <us-gaap:EmployeeStockOwnershipPlanESOPNumberOfSuspenseShares
      contextRef="c3"
      decimals="INF"
      id="ixv-7196"
      unitRef="shares">211487</us-gaap:EmployeeStockOwnershipPlanESOPNumberOfSuspenseShares>
    <us-gaap:EmployeeStockOwnershipPlanESOPNumberOfSuspenseShares
      contextRef="c4"
      decimals="INF"
      id="ixv-7197"
      unitRef="shares">233645</us-gaap:EmployeeStockOwnershipPlanESOPNumberOfSuspenseShares>
    <us-gaap:EmployeeStockOwnershipPlanESOPSharesInESOP
      contextRef="c3"
      decimals="INF"
      id="ixv-7198"
      unitRef="shares">662619</us-gaap:EmployeeStockOwnershipPlanESOPSharesInESOP>
    <us-gaap:EmployeeStockOwnershipPlanESOPSharesInESOP
      contextRef="c4"
      decimals="INF"
      id="ixv-7199"
      unitRef="shares">718603</us-gaap:EmployeeStockOwnershipPlanESOPSharesInESOP>
    <us-gaap:EmployeeStockOwnershipPlanESOPDeferredSharesFairValue contextRef="c3" decimals="0" id="ixv-7200" unitRef="usd">4494099</us-gaap:EmployeeStockOwnershipPlanESOPDeferredSharesFairValue>
    <us-gaap:EmployeeStockOwnershipPlanESOPDeferredSharesFairValue contextRef="c4" decimals="0" id="ixv-7201" unitRef="usd">3913554</us-gaap:EmployeeStockOwnershipPlanESOPDeferredSharesFairValue>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeBenefitPlan
      contextRef="c75"
      decimals="0"
      id="ixv-7202"
      unitRef="shares">55984</us-gaap:StockIssuedDuringPeriodSharesEmployeeBenefitPlan>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeBenefitPlan
      contextRef="c77"
      decimals="0"
      id="ixv-7203"
      unitRef="shares">33780</us-gaap:StockIssuedDuringPeriodSharesEmployeeBenefitPlan>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="c0" id="ixv-5381">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0in"&gt;Note 11. Stock-based Compensation&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company follows ASC 718 in establishing standards
for the accounting for transactions in which an entity exchanges its equity instruments for goods or services, as well as transactions
in which an entity incurs liabilities in exchange for goods or services that are based on the fair value of the entity&#x2019;s equity
instruments or that may be settled by the issuance of those equity instruments. ASC 718 requires that the cost resulting from all share-based
payment transactions be recognized in the financial statements based on the fair value of the share-based payment. ASC 718 establishes
fair value as the measurement objective in accounting for share-based payment transactions with employees, except for equity instruments
held by employee share ownership plans. Included as a reduction to the cost recognized for share-based payments is an estimate for option
forfeitures. It is the Company&#x2019;s policy to estimate expected option forfeitures based on historical experience. Actual forfeitures
are adjusted prior to the vesting date if the impact is material.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Total stock-based compensation expense recognized
in the statements of comprehensive income for the fiscal years ended June 30, 2024 and 2023, was $283,673 and $227,132, respectively,
before income taxes. The amount of this stock-based compensation expense related to non-qualified stock options (&#x201c;NQSOs&#x201d;)
for the fiscal years ended June 30, 2024 and 2023, was $34,903 and $21,432, respectively. The deferred tax benefit related to the NQSOs
as of June 30, 2024 and 2023 was approximately $7,330 and $4,501, respectively. The remaining stock option expense, in each year, related
to incentive stock options (&#x201c;ISOs&#x201d;) which are not deductible by the corporation when exercised, assuming a qualifying disposition
and as such no deferred tax benefit was established related to these amounts.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;As of June 30, 2024, there was approximately
$204,765 of unrecognized compensation cost related to stock option awards that is expected to be recognized as expense over the next
1.75 years, of which $181,955 relates to ISOs and $22,809 relates to NQSOs. The total deferred tax benefit related to the NQSOs in
future years will be $4,790.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company has one employee stock option plan
under which options or stock awards may be granted, the 2017 Stock Option and Restricted Stock Plan (the "2017 Plan"), approved
by the Company's shareholders at the Company's Annual Meeting on December 1, 2017. The Board of Directors may grant options to acquire
shares of common stock to employees and non-employee directors of the Company at the fair market value of the common stock on the date
of grant. The maximum aggregate number of shares of common stock subject to options or awards to non-employee directors is 133,000 and
the maximum aggregate number of shares of common stock subject to options or awards granted to non-employee directors during any single
fiscal year is the lesser of 13,300 and &lt;span style="-sec-ix-hidden: hidden-fact-23"&gt;33 1/3%&lt;/span&gt; of the total number of shares subject to options or awards granted in such fiscal year.
The maximum number of shares subject to options or awards granted to any individual employee may not exceed 15,000 in a fiscal year. Generally,
options granted have a two-year vesting period based on two years of
continuous service and have a ten-year contractual life. Option grants provide for accelerated vesting if there is a change in control.
Shares issued upon the exercise of options are from those held in Treasury. &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Options covering 400,000 shares are authorized for issuance
under the 2017 Plan. As of June 30, 2024, options covering 31,325 shares have been exercised, options covering 287,706 shares are outstanding
and options covering 143,973 shares have been cancelled. As of June 30, 2024, options covering 80,969 shares remain available for grant,
after factoring the cancelled shares, which are eligible to be re-granted. While no further grants of options may be made under the Company&#x2019;s
2007 Stock Option and Restricted Stock Plan, as of June 30, 2024, 34,350 options were outstanding under such plan of which all are vested
and exercisable.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;ASC 718 requires the use of a valuation model
to calculate the fair value of stock-based awards. The Company has elected to use the Black-Scholes option valuation model, which incorporates
various assumptions including those for volatility, expected life, and interest rates.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The table below outlines the weighted average
assumptions that the Company used to calculate the fair value of each option award for the years ended June 30, 2024 and 2023.&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 74%; text-align: left; text-indent: 0in"&gt;Dividend yield&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;3.61%&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;0.03%&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left"&gt;Expected stock price volatility&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;31.21%&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;27.20%&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Risk-free interest rate&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4.39%&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2.71%&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left"&gt;Expected option life (in years)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5.3yrs&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5.4yrs&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Weighted average fair value per share of options granted during the period&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;4.11&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;4.18&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Effective March 13, 2023, the Company reinstated
payment of a quarterly dividend. The Company paid regular cash dividends on common stock of $0.675 per share for the fiscal year ended
June 30, 2024 and paid regular cash dividends on common stock of $0.20 per share for the fiscal year ended June 30, 2023. Expected stock
price volatility is based on the historical volatility of the Company&#x2019;s stock. The risk-free interest rate is based on the implied
yield available on U.S. Treasury issues with an equivalent term approximating the expected life of the options. The expected option term
(in years) represents the estimated period of time until exercise and is based on actual historical experience.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The following table summarizes stock option activity
during the year ended June 30, 2024:&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt; &lt;td colspan="15" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Employee Stock Option Plans&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center"&gt;Weighted&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center"&gt;Number of&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center"&gt;Weighted&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center"&gt;Average&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center"&gt;Shares&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center"&gt;Average&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center"&gt;Remaining&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center"&gt;Aggregate&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center"&gt;Subject&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center"&gt;Exercise&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center"&gt;Contractual&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center"&gt;Intrinsic&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; border-bottom: Black 1pt solid; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;to Option&lt;/td&gt;&lt;td style="text-align: center; border-bottom: Black 1pt solid; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Price&lt;/td&gt;&lt;td style="text-align: center; border-bottom: Black 1pt solid; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Term&lt;/td&gt;&lt;td style="text-align: center; border-bottom: Black 1pt solid; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Value&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 48%"&gt;Balance at July 1, 2023&lt;/td&gt;&lt;td style="width: 3%"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 8%; text-align: right"&gt;296,331&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 3%"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 8%; text-align: right"&gt;19.15&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 3%"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 8%; text-align: right"&gt;6.49&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 3%"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 8%; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-22"&gt;&#160;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; "&gt; &lt;td&gt;Granted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;80,900&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;16.78&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;9.22&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Exercised&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(31,325&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;16.80&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; "&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Forfeited or expired&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(23,850&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;24.30&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 2.5pt"&gt;Outstanding at June 30, 2024&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;322,056&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;18.41&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;6.59&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;1,259,317&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; "&gt; &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Vested or expected to vest at June 30, 2024&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;313,205&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;18.45&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;6.52&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;1,212,613&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 2.5pt"&gt;Exercisable at June 30, 2024&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;174,756&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;20.98&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;4.83&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;382,667&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;/table&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The aggregate intrinsic value in the table above
represents the total pretax intrinsic value (the difference between the closing sale price of the Company&#x2019;s common stock as reported
on the NYSE American on June 30, 2024 and the exercise price, multiplied by the number of in-the-money options) that would have been
received by the option holders if all option holders had exercised their options on June 30, 2024. This amount changes based on the fair
market value of the Company&#x2019;s common stock. &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The total
intrinsic values of the options exercised during the twelve months ended June 30, 2024 and 2023 was $195,236 and $0, respectively.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;The following table summarizes changes in non-vested stock options
during the year ended June 30, 2024:&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="white-space: nowrap; text-align: center"&gt;Weighted Number&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="white-space: nowrap; text-align: center"&gt;Average&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="white-space: nowrap; text-align: center"&gt;of Shares&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="white-space: nowrap; text-align: center"&gt;Grant Date&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="white-space: nowrap; text-align: center"&gt;Subject&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="white-space: nowrap; text-align: center"&gt;Fair Value&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;to Option&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;(per Option)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 74%"&gt;Non-vested at July 1, 2023&lt;/td&gt;&lt;td style="width: 3%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;132,600&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 3%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;3.98&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td&gt;Granted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;80,900&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;4.11&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Vested&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(60,700&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;3.74&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Forfeited or expired&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(5,500&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;4.04&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Non-vested at June 30, 2024&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;147,300&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;4.15&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c0" decimals="0" id="ixv-7204" unitRef="usd">283673</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c5" decimals="0" id="ixv-7205" unitRef="usd">227132</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c78" decimals="0" id="ixv-7206" unitRef="usd">34903</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c79" decimals="0" id="ixv-7207" unitRef="usd">21432</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:DeferredOtherTaxExpenseBenefit contextRef="c78" decimals="0" id="ixv-7208" unitRef="usd">7330</us-gaap:DeferredOtherTaxExpenseBenefit>
    <us-gaap:DeferredOtherTaxExpenseBenefit contextRef="c79" decimals="0" id="ixv-7209" unitRef="usd">4501</us-gaap:DeferredOtherTaxExpenseBenefit>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions contextRef="c3" decimals="0" id="ixv-7210" unitRef="usd">204765</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 contextRef="c0" id="ixv-7211">P1Y9M</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions contextRef="c80" decimals="0" id="ixv-7212" unitRef="usd">181955</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions contextRef="c81" decimals="0" id="ixv-7213" unitRef="usd">22809</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions>
    <us-gaap:DeferredOtherTaxExpenseBenefit contextRef="c0" decimals="0" id="ixv-7214" unitRef="usd">4790</us-gaap:DeferredOtherTaxExpenseBenefit>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease
      contextRef="c82"
      decimals="INF"
      id="ixv-7215"
      unitRef="shares">133000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease
      contextRef="c83"
      decimals="INF"
      id="ixv-7216"
      unitRef="shares">13300</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease
      contextRef="c84"
      decimals="INF"
      id="ixv-7217"
      unitRef="shares">15000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c85" id="ixv-7218">P2Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="c86"
      decimals="INF"
      id="ixv-7219"
      unitRef="shares">400000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <esp:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercised
      contextRef="c87"
      decimals="0"
      id="ixv-7220"
      unitRef="shares">31325</esp:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercised>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="c88"
      decimals="0"
      id="ixv-7221"
      unitRef="shares">287706</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <esp:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestCancelled
      contextRef="c89"
      decimals="0"
      id="ixv-7222"
      unitRef="shares">143973</esp:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestCancelled>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant contextRef="c3" decimals="0" id="ixv-7223" unitRef="shares">80969</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <esp:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionOutstandingNumber
      contextRef="c90"
      decimals="INF"
      id="ixv-7224"
      unitRef="shares">34350</esp:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionOutstandingNumber>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock contextRef="c0" id="ixv-7225">The table below outlines the weighted average
assumptions that the Company used to calculate the fair value of each option award for the years ended June 30, 2024 and 2023.&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 74%; text-align: left; text-indent: 0in"&gt;Dividend yield&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;3.61%&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;0.03%&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left"&gt;Expected stock price volatility&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;31.21%&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;27.20%&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Risk-free interest rate&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4.39%&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2.71%&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left"&gt;Expected option life (in years)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5.3yrs&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5.4yrs&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Weighted average fair value per share of options granted during the period&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;4.11&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;4.18&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate contextRef="c0" decimals="4" id="ixv-7226" unitRef="pure">0.0361</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate contextRef="c5" decimals="4" id="ixv-7227" unitRef="pure">0.0003</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate contextRef="c0" decimals="4" id="ixv-7228" unitRef="pure">0.3121</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate contextRef="c5" decimals="4" id="ixv-7229" unitRef="pure">0.272</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate contextRef="c0" decimals="4" id="ixv-7230" unitRef="pure">0.0439</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate contextRef="c5" decimals="4" id="ixv-7231" unitRef="pure">0.0271</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="c0" id="ixv-7232">P5Y3M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="c5" id="ixv-7233">P5Y4M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c0"
      decimals="2"
      id="ixv-7234"
      unitRef="usdPershares">4.11</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c5"
      decimals="2"
      id="ixv-7235"
      unitRef="usdPershares">4.18</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:SharePrice
      contextRef="c81"
      decimals="3"
      id="ixv-7236"
      unitRef="usdPershares">0.675</us-gaap:SharePrice>
    <us-gaap:SharePrice
      contextRef="c91"
      decimals="2"
      id="ixv-7237"
      unitRef="usdPershares">0.2</us-gaap:SharePrice>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock contextRef="c0" id="ixv-7238">The following table summarizes stock option activity
during the year ended June 30, 2024:&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt; &lt;td colspan="15" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Employee Stock Option Plans&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center"&gt;Weighted&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center"&gt;Number of&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center"&gt;Weighted&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center"&gt;Average&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center"&gt;Shares&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center"&gt;Average&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center"&gt;Remaining&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center"&gt;Aggregate&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center"&gt;Subject&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center"&gt;Exercise&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center"&gt;Contractual&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center"&gt;Intrinsic&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; border-bottom: Black 1pt solid; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;to Option&lt;/td&gt;&lt;td style="text-align: center; border-bottom: Black 1pt solid; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Price&lt;/td&gt;&lt;td style="text-align: center; border-bottom: Black 1pt solid; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Term&lt;/td&gt;&lt;td style="text-align: center; border-bottom: Black 1pt solid; vertical-align: bottom"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="vertical-align: bottom; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Value&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 48%"&gt;Balance at July 1, 2023&lt;/td&gt;&lt;td style="width: 3%"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 8%; text-align: right"&gt;296,331&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 3%"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 8%; text-align: right"&gt;19.15&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 3%"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 8%; text-align: right"&gt;6.49&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 3%"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 8%; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-22"&gt;&#160;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; "&gt; &lt;td&gt;Granted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;80,900&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;16.78&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;9.22&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Exercised&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(31,325&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;16.80&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; "&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Forfeited or expired&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(23,850&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;24.30&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 2.5pt"&gt;Outstanding at June 30, 2024&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;322,056&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;18.41&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;6.59&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;1,259,317&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; "&gt; &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Vested or expected to vest at June 30, 2024&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;313,205&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;18.45&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;6.52&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;1,212,613&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 2.5pt"&gt;Exercisable at June 30, 2024&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;174,756&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;20.98&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;4.83&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;382,667&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;/table&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="c92"
      decimals="INF"
      id="ixv-7239"
      unitRef="shares">296331</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="c92"
      decimals="2"
      id="ixv-7240"
      unitRef="usdPershares">19.15</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <esp:SharebasedCompensationArrangementsBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="c93" id="ixv-7241">P6Y5M26D</esp:SharebasedCompensationArrangementsBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="c94"
      decimals="INF"
      id="ixv-7242"
      unitRef="shares">80900</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="c94"
      decimals="2"
      id="ixv-7243"
      unitRef="usdPershares">16.78</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <esp:WeightedAverageRemainingContrSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTermactualTermGranted contextRef="c94" id="ixv-7244">P9Y2M19D</esp:WeightedAverageRemainingContrSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTermactualTermGranted>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c94"
      decimals="INF"
      id="ixv-7245"
      unitRef="shares">31325</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="c94"
      decimals="2"
      id="ixv-7246"
      unitRef="usdPershares">16.8</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="c94"
      decimals="INF"
      id="ixv-7247"
      unitRef="shares">23850</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="c94"
      decimals="2"
      id="ixv-7248"
      unitRef="usdPershares">24.3</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="c95"
      decimals="INF"
      id="ixv-7249"
      unitRef="shares">322056</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="c95"
      decimals="2"
      id="ixv-7250"
      unitRef="usdPershares">18.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <esp:SharebasedCompensationArrangementsBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="c94" id="ixv-7251">P6Y7M2D</esp:SharebasedCompensationArrangementsBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue contextRef="c95" decimals="0" id="ixv-7252" unitRef="usd">1259317</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="c95"
      decimals="INF"
      id="ixv-7253"
      unitRef="shares">313205</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
      contextRef="c95"
      decimals="2"
      id="ixv-7254"
      unitRef="usdPershares">18.45</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1 contextRef="c94" id="ixv-7255">P6Y6M7D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue contextRef="c95" decimals="0" id="ixv-7256" unitRef="usd">1212613</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="c95"
      decimals="INF"
      id="ixv-7257"
      unitRef="shares">174756</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice
      contextRef="c95"
      decimals="2"
      id="ixv-7258"
      unitRef="usdPershares">20.98</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTerm2 contextRef="c94" id="ixv-7259">P4Y9M29D</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTerm2>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1 contextRef="c95" decimals="0" id="ixv-7260" unitRef="usd">382667</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue contextRef="c0" decimals="0" id="ixv-7261" unitRef="usd">195236</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue contextRef="c5" decimals="0" id="ixv-7262" unitRef="usd">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock contextRef="c0" id="ixv-7263">The following table summarizes changes in non-vested stock options
during the year ended June 30, 2024:&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="white-space: nowrap; text-align: center"&gt;Weighted Number&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="white-space: nowrap; text-align: center"&gt;Average&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="white-space: nowrap; text-align: center"&gt;of Shares&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="white-space: nowrap; text-align: center"&gt;Grant Date&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="white-space: nowrap; text-align: center"&gt;Subject&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="white-space: nowrap; text-align: center"&gt;Fair Value&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;to Option&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;(per Option)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 74%"&gt;Non-vested at July 1, 2023&lt;/td&gt;&lt;td style="width: 3%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;132,600&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 3%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;3.98&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td&gt;Granted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;80,900&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;4.11&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Vested&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(60,700&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;3.74&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Forfeited or expired&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(5,500&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;4.04&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Non-vested at June 30, 2024&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;147,300&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;4.15&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
      contextRef="c4"
      decimals="INF"
      id="ixv-7264"
      unitRef="shares">132600</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c4"
      decimals="INF"
      id="ixv-7265"
      unitRef="usdPershares">3.98</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="c0"
      decimals="INF"
      id="ixv-7266"
      unitRef="shares">80900</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c0"
      decimals="INF"
      id="ixv-7267"
      unitRef="usdPershares">4.11</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
      contextRef="c0"
      decimals="INF"
      id="ixv-7268"
      unitRef="shares">60700</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue
      contextRef="c0"
      decimals="INF"
      id="ixv-7269"
      unitRef="usdPershares">3.74</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares
      contextRef="c0"
      decimals="INF"
      id="ixv-7270"
      unitRef="shares">5500</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue
      contextRef="c0"
      decimals="INF"
      id="ixv-7271"
      unitRef="usdPershares">4.04</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
      contextRef="c3"
      decimals="INF"
      id="ixv-7272"
      unitRef="shares">147300</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c3"
      decimals="INF"
      id="ixv-7273"
      unitRef="usdPershares">4.15</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ConcentrationRiskDisclosureTextBlock contextRef="c0" id="ixv-5767">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Note 12. Concentration of Credit Risk&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Financial instruments that potentially subject
the Company to concentrations of credit risk consist principally of cash and cash equivalents, short-term investments and accounts receivable.
The Company maintains cash and cash equivalents with various financial institutions. At times such investments may be in excess of FDIC
insurance limits. As disclosed in Note 9, a significant portion of the Company's business is the production of military and industrial
electronic equipment for use by the U.S. and foreign governments and certain industrial customers. The related accounts receivable balance,
as a percentage of the Company's total trade accounts receivable balance, was 79% represented by five customers at June 30, 2024 and 81%
represented by five customers at June 30, 2023.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Although the Company's exposure to credit
risk associated with nonpayment of these concentrated balances is affected by the conditions or occurrences within the U.S. and
foreign governments, the Company believes that its trade accounts receivable credit risk exposure is limited. The Company performs
ongoing credit evaluations of its customer's financial conditions and requires collateral, such as progress payments, in certain
circumstances. The Company establishes an allowance for credit losses based upon factors surrounding the credit risk of specific
customers, historical trends and other information.&lt;/p&gt;</us-gaap:ConcentrationRiskDisclosureTextBlock>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c73" decimals="2" id="ixv-7274" unitRef="pure">0.79</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c74" decimals="2" id="ixv-7275" unitRef="pure">0.81</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock contextRef="c0" id="ixv-5776">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Note 13. Related Parties&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The administration of the shares of common stock
held by the ESOP Trust is subject to the Espey Mfg. &amp;amp; Electronics Corp. Employee Retirement Plan and Trust (ESOP) and a Trust Agreement,
each effective as of July 1, 2016. The Trustees&#x2019; rights with respect to the disposition of shares are governed by the terms of the
Plan and the Trust Agreement. As to shares that have been allocated to the accounts of participants in the ESOP Trust, the Plan provides
that the Trustees are required to vote such shares in accordance with instructions received from the participants. As to unallocated shares
and allocated shares for which voting instructions have not been received from participants, the Plan provides that the Trustees are required
to vote such shares in accordance with the direction of the Board of Directors of the Company under the terms of the Plan and Trust Agreement,
which is currently in the same proportion as the instructions received on the allocated shares. See Note 10 for additional information
regarding the ESOP.&lt;/p&gt;</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="c0" id="ixv-5783">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -0.75in"&gt;Note 14. Commitments
and Contingencies&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company at certain times enters into
standby letters of credit agreements with financial institutions primarily relating to the guarantee of future performance on
certain contracts. Contingent liabilities on outstanding standby letters of credit agreements aggregated to zero at June 30, 2024
and 2023. The Company, as a U.S. Government contractor, is subject to audits, reviews, and investigations by the U.S. Government
related to its negotiation and performance of government contracts and its accounting for such contracts. Failure to comply with
applicable U.S. Government standards by a contractor may result in suspension from eligibility for award of any new government
contract and a guilty plea or conviction may result in debarment from eligibility for awards. &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -0.75in"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The government may, in certain cases, also terminate existing contracts, recover damages, and
impose other sanctions and penalties. As a result of contract audits the Company will determine a range of possible outcomes and in accordance
with ASC 450 &#x201c;Contingencies&#x201d; the Company will accrue amounts within a range that appears to be its best estimate of a possible
outcome. Adjustments are made to accruals, if any, periodically based on current information.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We are party to various litigation matters and
claims arising from time to time in the ordinary course of business.&#160;While the results of such matters cannot be predicted with certainty,
we believe that the final outcome of such matters will not have a material adverse effect on our business, financial condition, results
of operations or cash flows. Currently, there are no matters pending.&lt;/p&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:LettersOfCreditOutstandingAmount contextRef="c3" decimals="0" id="ixv-7276" unitRef="usd">0</us-gaap:LettersOfCreditOutstandingAmount>
    <us-gaap:LettersOfCreditOutstandingAmount contextRef="c4" decimals="0" id="ixv-7277" unitRef="usd">0</us-gaap:LettersOfCreditOutstandingAmount>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock contextRef="c0" id="ixv-5811">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Note 15. Stockholders' Equity&lt;/p&gt;

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

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

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company has reserved common shares for future
issuance as follows as of June 30, 2024:&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 84%; text-align: left"&gt;Stock options outstanding&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;322,056&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Stock options available for issuance&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;80,969&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Number of common shares reserved&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;403,025&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The following table sets forth the reconciliation
of the numerators and denominators of the basic and diluted earnings per share computations for continuing operations for the years ended
June 30:&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Numerator:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="width: 72%; text-align: left; padding-bottom: 2.5pt"&gt;Net income&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; border-bottom: Black 2.5pt double; text-align: right"&gt;5,815,140&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; border-bottom: Black 2.5pt double; text-align: right"&gt;3,677,131&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Denominator:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Basic EPS:&lt;/td&gt;&lt;td style="font-family: Courier New, Courier, Monospace"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-family: Courier New, Courier, Monospace; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Courier New, Courier, Monospace; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; font-family: Courier New, Courier, Monospace; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Courier New, Courier, Monospace"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-family: Courier New, Courier, Monospace; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Courier New, Courier, Monospace; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; font-family: Courier New, Courier, Monospace; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-left: 20pt; text-align: left"&gt;Common shares outstanding, beginning of period&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,702,633&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,702,633&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 20pt"&gt;Unearned ESOP shares&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(233,645&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(256,293&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-left: 20pt"&gt;Weighted average common shares issued during the period&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;11,837&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-24"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 20pt; padding-bottom: 1pt"&gt;Weighted average ESOP shares earned during the period&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;8,340&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;8,516&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-left: 20pt; text-align: left"&gt;Denominator for basic earnings per common shares &#x2013;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 40pt; padding-bottom: 2.5pt"&gt;Weighted average common shares&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;2,489,165&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;2,454,856&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Diluted EPS:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-left: 20pt"&gt;Common shares outstanding, beginning of period&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,702,633&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,702,633&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 20pt"&gt;Unearned ESOP shares&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(233,645&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(256,293&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-left: 20pt"&gt;Weighted average common shares issued during the period&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;11,837&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-25"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 20pt"&gt;Weighted average ESOP shares earned during the period&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;8,340&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;8,516&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-left: 20pt; padding-bottom: 1pt"&gt;Weighted average dilutive effect of stock options&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;47,802&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;16,160&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 20pt; text-align: left"&gt;Denominator for diluted earnings per common shares &#x2013;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-left: 40pt; padding-bottom: 2.5pt"&gt;Weighted average common shares&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;2,536,967&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;2,471,016&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Not included in this computation of earnings per
share for the year ended June 30, 2024 and 2023 were options to purchase 62,691 and 130,656 shares, respectively, of the Company&#x2019;s
common stock. These options were excluded because their inclusion would have been anti-dilutive due to the average strike price exceeding
the average market price of those shares.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Effective March 13, 2023, the Company reinstated
payment of a quarterly dividend. The Company paid regular cash dividends on common stock of $0.675 per share for the fiscal year ended
June 30, 2024 and paid regular cash dividends on common stock of $0.20 per share for the fiscal year ended June 30, 2023. Our Board of
Directors assesses the Company&#x2019;s dividend policy periodically. There is no assurance that the Board of Directors will maintain the
amount of the regular cash dividend during any future years.&lt;/p&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <esp:ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock contextRef="c0" id="ixv-7278">The Company has reserved common shares for future
issuance as follows as of June 30, 2024:&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 84%; text-align: left"&gt;Stock options outstanding&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;322,056&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Stock options available for issuance&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;80,969&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Number of common shares reserved&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;403,025&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</esp:ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="c29"
      decimals="INF"
      id="ixv-7279"
      unitRef="shares">322056</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="c29"
      decimals="INF"
      id="ixv-7280"
      unitRef="shares">80969</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="c29"
      decimals="INF"
      id="ixv-7281"
      unitRef="shares">403025</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="c0" id="ixv-7282">The following table sets forth the reconciliation
of the numerators and denominators of the basic and diluted earnings per share computations for continuing operations for the years ended
June 30:&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Numerator:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="width: 72%; text-align: left; padding-bottom: 2.5pt"&gt;Net income&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; border-bottom: Black 2.5pt double; text-align: right"&gt;5,815,140&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; border-bottom: Black 2.5pt double; text-align: right"&gt;3,677,131&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Denominator:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Basic EPS:&lt;/td&gt;&lt;td style="font-family: Courier New, Courier, Monospace"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-family: Courier New, Courier, Monospace; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Courier New, Courier, Monospace; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; font-family: Courier New, Courier, Monospace; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Courier New, Courier, Monospace"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-family: Courier New, Courier, Monospace; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Courier New, Courier, Monospace; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; font-family: Courier New, Courier, Monospace; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-left: 20pt; text-align: left"&gt;Common shares outstanding, beginning of period&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,702,633&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,702,633&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 20pt"&gt;Unearned ESOP shares&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(233,645&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(256,293&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-left: 20pt"&gt;Weighted average common shares issued during the period&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;11,837&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-24"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 20pt; padding-bottom: 1pt"&gt;Weighted average ESOP shares earned during the period&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;8,340&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;8,516&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-left: 20pt; text-align: left"&gt;Denominator for basic earnings per common shares &#x2013;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 40pt; padding-bottom: 2.5pt"&gt;Weighted average common shares&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;2,489,165&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;2,454,856&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Diluted EPS:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-left: 20pt"&gt;Common shares outstanding, beginning of period&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,702,633&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,702,633&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 20pt"&gt;Unearned ESOP shares&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(233,645&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(256,293&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-left: 20pt"&gt;Weighted average common shares issued during the period&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;11,837&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-25"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 20pt"&gt;Weighted average ESOP shares earned during the period&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;8,340&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;8,516&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-left: 20pt; padding-bottom: 1pt"&gt;Weighted average dilutive effect of stock options&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;47,802&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;16,160&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 20pt; text-align: left"&gt;Denominator for diluted earnings per common shares &#x2013;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-left: 40pt; padding-bottom: 2.5pt"&gt;Weighted average common shares&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;2,536,967&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;2,471,016&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss contextRef="c0" decimals="0" id="ixv-7283" unitRef="usd">5815140</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c5" decimals="0" id="ixv-7284" unitRef="usd">3677131</us-gaap:NetIncomeLoss>
    <us-gaap:CommonStockOtherSharesOutstanding
      contextRef="c3"
      decimals="INF"
      id="ixv-7285"
      unitRef="shares">2702633</us-gaap:CommonStockOtherSharesOutstanding>
    <us-gaap:CommonStockOtherSharesOutstanding
      contextRef="c4"
      decimals="INF"
      id="ixv-7286"
      unitRef="shares">2702633</us-gaap:CommonStockOtherSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased
      contextRef="c0"
      decimals="INF"
      id="ixv-7287"
      unitRef="shares">233645</us-gaap:WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased>
    <us-gaap:WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased
      contextRef="c5"
      decimals="INF"
      id="ixv-7288"
      unitRef="shares">256293</us-gaap:WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased>
    <us-gaap:WeightedAverageNumberOfSharesIssuedBasic
      contextRef="c0"
      decimals="INF"
      id="ixv-7289"
      unitRef="shares">11837</us-gaap:WeightedAverageNumberOfSharesIssuedBasic>
    <us-gaap:WeightedAverageNumberOfSharesContingentlyIssuable
      contextRef="c0"
      decimals="INF"
      id="ixv-7290"
      unitRef="shares">8340</us-gaap:WeightedAverageNumberOfSharesContingentlyIssuable>
    <us-gaap:WeightedAverageNumberOfSharesContingentlyIssuable
      contextRef="c5"
      decimals="INF"
      id="ixv-7291"
      unitRef="shares">8516</us-gaap:WeightedAverageNumberOfSharesContingentlyIssuable>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c0"
      decimals="INF"
      id="ixv-7292"
      unitRef="shares">2489165</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c5"
      decimals="INF"
      id="ixv-7293"
      unitRef="shares">2454856</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:CommonStockOtherSharesOutstanding
      contextRef="c3"
      decimals="INF"
      id="ixv-7294"
      unitRef="shares">2702633</us-gaap:CommonStockOtherSharesOutstanding>
    <us-gaap:CommonStockOtherSharesOutstanding
      contextRef="c4"
      decimals="INF"
      id="ixv-7295"
      unitRef="shares">2702633</us-gaap:CommonStockOtherSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased
      contextRef="c0"
      decimals="INF"
      id="ixv-7296"
      unitRef="shares">233645</us-gaap:WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased>
    <us-gaap:WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased
      contextRef="c5"
      decimals="INF"
      id="ixv-7297"
      unitRef="shares">256293</us-gaap:WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased>
    <us-gaap:WeightedAverageNumberOfSharesCommonStockSubjectToRepurchaseOrCancellation
      contextRef="c0"
      decimals="INF"
      id="ixv-7298"
      unitRef="shares">11837</us-gaap:WeightedAverageNumberOfSharesCommonStockSubjectToRepurchaseOrCancellation>
    <us-gaap:WeightedAverageNumberOfSharesContingentlyIssuable
      contextRef="c0"
      decimals="INF"
      id="ixv-7299"
      unitRef="shares">8340</us-gaap:WeightedAverageNumberOfSharesContingentlyIssuable>
    <us-gaap:WeightedAverageNumberOfSharesContingentlyIssuable
      contextRef="c5"
      decimals="INF"
      id="ixv-7300"
      unitRef="shares">8516</us-gaap:WeightedAverageNumberOfSharesContingentlyIssuable>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="c0"
      decimals="INF"
      id="ixv-7301"
      unitRef="shares">47802</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="c5"
      decimals="INF"
      id="ixv-7302"
      unitRef="shares">16160</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c0"
      decimals="INF"
      id="ixv-7303"
      unitRef="shares">2536967</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c5"
      decimals="INF"
      id="ixv-7304"
      unitRef="shares">2471016</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="c0" decimals="0" id="ixv-7305" unitRef="shares">62691</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="c5" decimals="0" id="ixv-7306" unitRef="shares">130656</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="c0"
      decimals="3"
      id="ixv-7307"
      unitRef="usdPershares">0.675</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="c5"
      decimals="2"
      id="ixv-7308"
      unitRef="usdPershares">0.2</us-gaap:CommonStockDividendsPerShareCashPaid>
    <esp:LineOfCreditTextBlock contextRef="c0" id="ixv-6077">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Note 16. Line of Credit&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;At June 30, 2024, the Company has an uncommitted
and unused Line of Credit with a financial institution. The agreement provides that the Company may borrow up to $3,000,000. The line
provides for interest payments equal to the SOFR Daily Floating Rate plus 2 percentage points. Any borrowing under the line of credit
will be collateralized by accounts receivable. All outstanding balances are payable no later than the expiration date of the agreement,
unless other terms are agreed to by the lender. The existing line of credit expires February 28, 2025. The Company did not borrow any
funds during the last two fiscal years.&lt;/p&gt;</esp:LineOfCreditTextBlock>
    <us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity contextRef="c3" decimals="0" id="ixv-7309" unitRef="usd">3000000</us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity>
    <esp:FloatingRatePercentage contextRef="c0" decimals="2" id="ixv-7310" unitRef="pure">0.02</esp:FloatingRatePercentage>
    <us-gaap:QuarterlyFinancialInformationTextBlock contextRef="c0" id="ixv-6084">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Note 17. Quarterly Financial Information (Unaudited)&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;First&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;Second&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;Third&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;Fourth&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-weight: bold"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Quarter&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Quarter&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Quarter&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Quarter&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 44%; text-align: left"&gt;Net sales&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;8,568,214&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;10,302,541&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;8,254,653&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;11,610,911&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; "&gt; &lt;td style="padding-left: 30pt; text-align: left"&gt;Gross profit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,245,377&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,142,575&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,064,191&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,200,917&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 30pt; text-align: left"&gt;Net income&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,094,544&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,795,370&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,031,930&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,893,296&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; "&gt; &lt;td&gt;Net income per share -&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt"&gt;Basic&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.44&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.73&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.41&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.76&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; "&gt; &lt;td style="padding-left: 10pt"&gt;Diluted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.44&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.72&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.40&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.73&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; "&gt; &lt;td style="vertical-align: bottom; font-weight: bold; text-align: left"&gt;2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Net sales&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;8,635,795&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;8,804,109&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;9,809,616&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;8,342,803&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; "&gt; &lt;td style="padding-left: 30pt; text-align: left"&gt;Gross profit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,812,142&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,260,722&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,973,429&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,004,245&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 30pt; text-align: left"&gt;Net income&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;768,266&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,146,042&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;867,288&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;895,535&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; "&gt; &lt;td&gt;Net income per share -&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt"&gt;Basic&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.31&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.47&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.35&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.37&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; "&gt; &lt;td style="padding-left: 10pt"&gt;Diluted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.31&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.47&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.35&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.36&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;/table&gt;</us-gaap:QuarterlyFinancialInformationTextBlock>
    <us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock contextRef="c0" id="ixv-6087">&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif; margin-left: auto; margin-right: auto;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;First&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;Second&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;Third&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;Fourth&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-weight: bold"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Quarter&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Quarter&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Quarter&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Quarter&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 44%; text-align: left"&gt;Net sales&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;8,568,214&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;10,302,541&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;8,254,653&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;11,610,911&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; "&gt; &lt;td style="padding-left: 30pt; text-align: left"&gt;Gross profit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,245,377&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,142,575&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,064,191&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,200,917&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 30pt; text-align: left"&gt;Net income&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,094,544&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,795,370&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,031,930&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,893,296&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; "&gt; &lt;td&gt;Net income per share -&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt"&gt;Basic&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.44&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.73&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.41&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.76&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; "&gt; &lt;td style="padding-left: 10pt"&gt;Diluted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.44&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.72&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.40&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.73&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; "&gt; &lt;td style="vertical-align: bottom; font-weight: bold; text-align: left"&gt;2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Net sales&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;8,635,795&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;8,804,109&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;9,809,616&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;8,342,803&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; "&gt; &lt;td style="padding-left: 30pt; text-align: left"&gt;Gross profit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,812,142&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,260,722&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,973,429&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,004,245&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 30pt; text-align: left"&gt;Net income&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;768,266&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,146,042&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;867,288&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;895,535&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; "&gt; &lt;td&gt;Net income per share -&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt"&gt;Basic&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.31&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.47&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.35&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.37&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; "&gt; &lt;td style="padding-left: 10pt"&gt;Diluted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.31&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.47&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.35&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.36&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;/table&gt;</us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock>
    <us-gaap:Revenues contextRef="c96" decimals="0" id="ixv-7311" unitRef="usd">8568214</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c97" decimals="0" id="ixv-7312" unitRef="usd">10302541</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c98" decimals="0" id="ixv-7313" unitRef="usd">8254653</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c99" decimals="0" id="ixv-7314" unitRef="usd">11610911</us-gaap:Revenues>
    <us-gaap:GrossProfit contextRef="c96" decimals="0" id="ixv-7315" unitRef="usd">2245377</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c97" decimals="0" id="ixv-7316" unitRef="usd">3142575</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c98" decimals="0" id="ixv-7317" unitRef="usd">2064191</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c99" decimals="0" id="ixv-7318" unitRef="usd">3200917</us-gaap:GrossProfit>
    <us-gaap:NetIncomeLoss contextRef="c96" decimals="0" id="ixv-7319" unitRef="usd">1094544</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c97" decimals="0" id="ixv-7320" unitRef="usd">1795370</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c98" decimals="0" id="ixv-7321" unitRef="usd">1031930</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c99" decimals="0" id="ixv-7322" unitRef="usd">1893296</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="c96"
      decimals="2"
      id="ixv-7323"
      unitRef="usdPershares">0.44</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c97"
      decimals="2"
      id="ixv-7324"
      unitRef="usdPershares">0.73</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c98"
      decimals="2"
      id="ixv-7325"
      unitRef="usdPershares">0.41</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c99"
      decimals="2"
      id="ixv-7326"
      unitRef="usdPershares">0.76</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c96"
      decimals="2"
      id="ixv-7327"
      unitRef="usdPershares">0.44</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c97"
      decimals="2"
      id="ixv-7328"
      unitRef="usdPershares">0.72</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c98"
      decimals="2"
      id="ixv-7329"
      unitRef="usdPershares">0.4</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c99"
      decimals="2"
      id="ixv-7330"
      unitRef="usdPershares">0.73</us-gaap:EarningsPerShareDiluted>
    <us-gaap:Revenues contextRef="c100" decimals="0" id="ixv-7331" unitRef="usd">8635795</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c101" decimals="0" id="ixv-7332" unitRef="usd">8804109</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c102" decimals="0" id="ixv-7333" unitRef="usd">9809616</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c103" decimals="0" id="ixv-7334" unitRef="usd">8342803</us-gaap:Revenues>
    <us-gaap:GrossProfit contextRef="c100" decimals="0" id="ixv-7335" unitRef="usd">1812142</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c101" decimals="0" id="ixv-7336" unitRef="usd">2260722</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c102" decimals="0" id="ixv-7337" unitRef="usd">1973429</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c103" decimals="0" id="ixv-7338" unitRef="usd">2004245</us-gaap:GrossProfit>
    <us-gaap:NetIncomeLoss contextRef="c100" decimals="0" id="ixv-7339" unitRef="usd">768266</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c101" decimals="0" id="ixv-7340" unitRef="usd">1146042</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c102" decimals="0" id="ixv-7341" unitRef="usd">867288</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c103" decimals="0" id="ixv-7342" unitRef="usd">895535</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="c100"
      decimals="2"
      id="ixv-7343"
      unitRef="usdPershares">0.31</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c101"
      decimals="2"
      id="ixv-7344"
      unitRef="usdPershares">0.47</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c102"
      decimals="2"
      id="ixv-7345"
      unitRef="usdPershares">0.35</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c103"
      decimals="2"
      id="ixv-7346"
      unitRef="usdPershares">0.37</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c100"
      decimals="2"
      id="ixv-7347"
      unitRef="usdPershares">0.31</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c101"
      decimals="2"
      id="ixv-7348"
      unitRef="usdPershares">0.47</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c102"
      decimals="2"
      id="ixv-7349"
      unitRef="usdPershares">0.35</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c103"
      decimals="2"
      id="ixv-7350"
      unitRef="usdPershares">0.36</us-gaap:EarningsPerShareDiluted>
    <ecd:Rule10b51ArrTrmntdFlag contextRef="c99" id="ixv-7351">false</ecd:Rule10b51ArrTrmntdFlag>
    <ecd:Rule10b51ArrAdoptedFlag contextRef="c99" id="ixv-7352">false</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:NonRule10b51ArrTrmntdFlag contextRef="c99" id="ixv-7353">false</ecd:NonRule10b51ArrTrmntdFlag>
    <ecd:NonRule10b51ArrAdoptedFlag contextRef="c99" id="ixv-7354">false</ecd:NonRule10b51ArrAdoptedFlag>
    <us-gaap:IncomeTaxesReceivable
      contextRef="c3"
      id="hidden-fact-0"
      unitRef="usd"
      xsi:nil="true"/>
    <esp:DeferredTaxAssetsCurrent
      contextRef="c4"
      id="hidden-fact-1"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:TaxesPayableCurrent
      contextRef="c4"
      id="hidden-fact-2"
      unitRef="usd"
      xsi:nil="true"/>
    <esp:DeferredTaxLiability
      contextRef="c3"
      id="hidden-fact-3"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="c3"
      id="hidden-fact-4"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="c4"
      id="hidden-fact-5"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c3"
      decimals="2"
      id="hidden-fact-6"
      unitRef="usdPershares">0.33</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c4"
      decimals="2"
      id="hidden-fact-7"
      unitRef="usdPershares">0.33</us-gaap:CommonStockParOrStatedValuePerShare>
    <esp:ProceedsFromGrantAward
      contextRef="c5"
      id="hidden-fact-8"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:ProceedsFromRepurchaseOfEquity
      contextRef="c5"
      id="hidden-fact-9"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:ImpairmentOfLongLivedAssetsToBeDisposedOf
      contextRef="c0"
      id="hidden-fact-10"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:ImpairmentOfLongLivedAssetsToBeDisposedOf
      contextRef="c5"
      id="hidden-fact-11"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="c50"
      id="hidden-fact-12"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="c50"
      id="hidden-fact-13"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="c52"
      id="hidden-fact-14"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="c53"
      id="hidden-fact-15"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="c53"
      id="hidden-fact-16"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="c0"
      id="hidden-fact-17"
      unitRef="pure"
      xsi:nil="true"/>
    <esp:EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares
      contextRef="c5"
      id="hidden-fact-18"
      unitRef="pure"
      xsi:nil="true"/>
    <us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment
      contextRef="c4"
      id="hidden-fact-19"
      unitRef="usd"
      xsi:nil="true"/>
    <esp:DeferredTaxAssetsPensionWithdrawal
      contextRef="c4"
      id="hidden-fact-20"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="c3"
      id="hidden-fact-21"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="c92"
      id="hidden-fact-22"
      unitRef="usd"
      xsi:nil="true"/>
    <esp:PercentageOfTotalNumberOfSharesSubjectToOptionsOrAwardsSingleFiscalYear contextRef="c83" id="hidden-fact-23">33 1/3 %</esp:PercentageOfTotalNumberOfSharesSubjectToOptionsOrAwardsSingleFiscalYear>
    <us-gaap:WeightedAverageNumberOfSharesIssuedBasic
      contextRef="c5"
      id="hidden-fact-24"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:WeightedAverageNumberOfSharesCommonStockSubjectToRepurchaseOrCancellation
      contextRef="c5"
      id="hidden-fact-25"
      unitRef="shares"
      xsi:nil="true"/>
    <dei:AmendmentFlag contextRef="c0" id="ixv-7383">false</dei:AmendmentFlag>
    <dei:DocumentFiscalPeriodFocus contextRef="c0" id="ixv-7384">FY</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey contextRef="c0" id="ixv-7385">0000033533</dei:EntityCentralIndexKey>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
